【发布时间】:2013-11-30 22:33:58
【问题描述】:
当用户输入总和大于 2000 的数字时,代码应该重置回 0,然后继续询问数字,直到总和正好等于 2000。我的代码将总和重置回 0,但保持在 0并且不会将任何用户输入添加到总数中。我知道这是一个循环问题,我只是不知道如何让它循环回 0 并重新开始。我特意将“print(total)”作为最后一行代码,这样我就可以看到总数发生了什么。
my_list = []
print "Rules of the game, keep adding numbers to get exactly 2000!"
while True:
numbers = raw_input(" Please enter a number: ")
total = 0
for num in numbers.split():
my_list.append(int(num))
for value in my_list:
total += int(value)
if total < 2000:
print "Current total:"
print(total)
elif total == 2000:
print " Congratulations!"
break
elif total > 2000:
total = 0
print "Sorry you went over. Try Again."
print(total)
执行示例)
Rules of the game, keep adding numbers to get exactly 2000!
Please enter a number: 2002
Sorry you went over. Try Again.
0
Please enter a number: 10
Sorry you went over. Try Again.
0
Please enter a number: 50
Sorry you went over. Try Again.
0
Please enter a number:
【问题讨论】:
标签: python loops while-loop add