如何从输入中总结数字?

时间:2016-10-10 03:45:26

标签: python-3.x input integer sum

我正在解决以下问题。

编写一个持续提示正整数的程序,当输入的数字总和超过1000时停止。 但如果输入负整数,我的代码会提前停止。

这些数字不会总和。

我的代码:

x = int(input("Enter an integer:"))
total = 0
sum = 0
while (0 <= x):
    if sum <= 1000:
        x += 1
        sum += (int(input("Enter an integer:")))
    elif sum >= 1000:
        break

2 个答案:

答案 0 :(得分:0)

x = 0
total = 0
sum = 0
while sum <= 1000:
    x = int(input("Enter an integer:"))
    if x<0:
        print("Invalid negative value given")
        break
    sum += x


第一

if sum >= 1000:
    ...
elif sum < 1000:
    ...

是多余的,因为如果你想要sum >= 1000并且达到了elif,那么你应该知道,条件是False,因此sum < 1000必须是真正。所以你可以用

替换它
if sum >= 1000:
    ...
else:
    ...


第二
您想使用x来检查输入是否为负数。到现在为止,你每次都只是增加一个。相反,您应首先将输入分配到x,然后将其添加到sum。所以这样做:

x = int(input("Enter an integer:"))
if x<0:
    break
sum += x

答案 1 :(得分:0)

如果您想在遇到负数后立即停止。

x = 0
total = 0
sum = 0
while (sum <= 1000):
    x = (int(input("Enter an integer:"))
    if (x < 0):
        break
    else:
        sum += x