我想寫一個列表或數組中的Python函數。如果列表或數組中的任何兩個數字等於零,我想返回這兩個數字的位置。Python列表:如果一對數字等於0返回元素的位置
這是我到目前爲止。我通過列表循環,並有相同列表的嵌套循環來測試如果外部迭代器加嵌套迭代器== 0:如果是的話我試圖返回兩個數字== 0的位置,但它只是反而給我實際的兩個數字。下面的輸出(即使它不是我想要的)應該是(3,-3),這有什麼奇怪的。任何投入將不勝感激
def twosum(nums):
for x in nums:
for y in nums:
if x + y == 0:
return nums[x],nums[y]
print twosum([1, 3, 5, -3])
output = (-3, 3)
如果'x'是'nums'的一個元素,那麼'nums [x]'是什麼?如果你不記得,請回到你的課程材料中,查看括號內的內容。 – user2357112
@ user2357112我知道這是一個索引,但我會認爲第一個數字應該是3而不是-3。 – ziggy
@ziggy:如果'x'爲3,那麼'nums [x]'是什麼?它不是3. – user2357112