我正在解决以下问题。
编写一个持续提示正整数的程序,当输入的数字总和超过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
答案 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