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
添加回答
举报