我使用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))
这里是固定代码,尽管我觉得我正在为您做作业。
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。编辑:第一行的输入也没有用,因为您在将它加到总和之前再次对其进行分配。
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))
这里是操作方法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