我如何获取我的代码以将所有输入的值相加?

问题描述 投票:-1回答:3

我使用sum变量编写了一些代码,我试图将所有输入的数字相加,但是程序没有这样做。有人可以帮我解决问题吗?

num = int(input("Enter a number, -1 to stop"))

sum = 0
while (num != -1):
    print ("You entered: " + str(num))
    num = int(input("Enter a number, -1 to stop"))
    sum = sum + num
print ("Sum of numbers entered: " + str(sum))
python string loops variables input
3个回答
0
投票

这里是固定代码,尽管我觉得我正在为您做作业。

num = 0
sum = 0
while (num != -1):
    num = int(input("Enter a number, -1 to stop"))
    if num == -1: break
    print ("You entered: " + str(num))
    sum = sum + num

print ("Sum of numbers entered: " + str(sum))

问题我已解决:1.您要求用户输入数字,然后循环开始,然后再次要求输入数字,因此您丢失了用户的第一个输入2.您必须检查用户是否输入-1,然后中断循环,否则它将加-1。

现在,我如何解决这个问题?使用调试器,例如PyCharm之类的IDE,或使用python(pdb)随附的调试器。这将帮助您了解代码如何逐步执行。

欢呼声


-1
投票

您的问题是正在添加数字,并且正在检查它是否等于-1。编辑:第一行的输入也没有用,因为您在将它加到总和之前再次对其进行分配。

num = 0

sum = 0
while (num != -1):
    sum = sum + num
    num = int(input("Enter a number, -1 to stop: "))
print("Sum of numbers entered: " + str(sum))

-1
投票

您非常亲密

这里是操作方法pythonically

sum = 0

while True:  # will repeat until we hit a break statement
    num = int(input("Enter a number, -1 to stop"))
    if num == -1:
        break
    sum += num  # same as sum = sum + num
    print("You entered: " + str(num))
print ("Sum of numbers entered: " + str(sum))

出了什么问题

  • [sum被初始化为0,而不是第一个num
© www.soinside.com 2019 - 2024. All rights reserved.