我正在嘗試使用while循環編寫代碼來對列表中的所有負數求和。我得到 -10 而不是 -17。知道為什么嗎?謝謝!# sum all the negative numbers using a while loopgiven_list3 = [7, 5, 4, 4, 3, 1, -2, -3, -5 ,-7]total6 = 0i = 0while -1 < 0: total6 += given_list3[i] i += -1 if given_list3[i] > 0: breakprint(total6)
3 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
各種錯
在-1 < 0沒有意義,它不會終止
你break當你發現第一個消極因素
你應該做類似的事情
index = 0
while index < len(lst):
value = lst[index]
if value > 0:
continue
total += value
index += 1
請注意,在 python 中,直接迭代值更為常見
for value in lst:
if value >= 0:
total += value
或使用列表理解
total = sum([x for x in lst if x >= 0])

森林海
TA貢獻2011條經驗 獲得超2個贊
試試下面的代碼,
l=[1,2,3,-1,-4]
i=-1
total=0
while l[i]<0:
total+=l[i]
i-=1
print(total)
添加回答
舉報
0/150
提交
取消