如何在while循环中使用累加器

时间:2015-06-28 11:43:13

标签: python

我正在尝试编写一个程序,该程序从用户获取输入,然后将该输入乘以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)

4 个答案:

答案 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)

我在代码中看到的问题很少 -

  1. 您可能不需要在while循环之外的第一个input

  2. 在你的while循环中,你正在累积像 - acc = number1 + number这样的数字,这会在每个循环中添加numbernumber1到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))

不要忘记实际累积它;)