我正在尝试编写一个程序,该程序从用户获取输入,然后将该输入乘以10.然后将此输入添加到初始值为acc=0.0
的累加器中。这一直重复,直到acc
达到<{1}}。 100.我不确定是否有其他方法可以做到这一点,但是现在我想使用while循环。以下是我到目前为止所做的工作。但不完全那样。我知道我无法消化while循环概念。
condition=100
number = input("Enter your number: ")
number = int(number)*10
acc=0.0
while acc <= condition:
number1 = input("Next number: ")
number1 = int(number1)*10
acc = number1 + number
print("The summed value is", acc)
答案 0 :(得分:4)
您并没有真正添加到累加器,在每次迭代中,您将累加器设置为number1 + number。做
acc = acc + number1
相反,或acc += number1
,相当于。
此外,您几乎不应该拥有数字和数字1之类的变量名称,但这是另一回事。
答案 1 :(得分:4)
在输入number1后,你的错误在于累加器分配。你继续为累加器分配编号和编号。
这是工作代码:
condition=100
number = input("Enter your number: ")
number = int(number)*10
acc = number
while acc <= condition:
number1 = input("Next number: ")
number1 = int(number1)*10
acc = acc + number1
print("The summed value is", acc)
答案 2 :(得分:3)
我在代码中看到的问题很少 -
您可能不需要在while循环之外的第一个input
。
在你的while循环中,你正在累积像 - acc = number1 + number
这样的数字,这会在每个循环中添加number
和number1
到acc(不会累积),我这样做不要认为这就是你想要的,也许你想要的东西 - acc = acc + number1
这会将acc
添加到自身并将其存储在自身中。或者较短的符号 - acc += number1
。
答案 3 :(得分:1)
这个怎么样?
condition = 100
acc = 0
while acc <= condition:
n = input("Your number: ")
acc += int(n) * 10
print("Current sum: {0}".format(acc))
不要忘记实际累积它;)