1 回答

TA貢獻1804條經驗 獲得超2個贊
循環會將負數添加到變量中,value因為在實際添加輸入的(負)數之前您不會終止循環。
while entered_number >= 0:
entered_number = int(input('Enter a positive number: '))
value += entered_number # If entered_number is negative it will still
# be added, because the loop will terminate
# after this iteration
有兩種解決方案:
value += entered_number在輸入新號碼的位置之前移動到
這樣循環將在將其添加到總和之前評估輸入的數字
while entered_number >= 0:
value += entered_number
entered_number = int(input('Enter a positive number: '))
永遠循環并在循環內中斷
邏輯與 1 中的相同,只是我們檢查的方式不同。
while True:
entered_number = int(input('Enter a positive number: '))
if entered_number < 0:
break
value += entered_number # This line will only be reached if we
# haven't breaked out from the loop
添加回答
舉報