2016-10-10 7 views
-2

私は次の問題に取り組んでいます。入力から数値を集計する方法は?

正の整数を求め続け、入力された数値の合計が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
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 


まず:あなたはsum >= 1000ためチェク、およびelifに達した場合、あなたはaready知っているので

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

は、冗長です、条件がFalseであるため、sum < 1000真実でなければならない。ですから、

if sum >= 1000: 
    ... 
else: 
    ... 


でそれを置き換えることができます第二:
あなたは、入力が負であるかどうか、チェックするためにxを使用したいです。これまでは、あなたは毎回simpyを1ずつ増やしていました。代わりに、入力をxにしてからsumに追加する必要があります。だから、このようにする:

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

負の数に遭遇するとすぐに停止したい場合。

x = 0 
total = 0 
sum = 0 
while (sum <= 1000): 
    x = (int(input("Enter an integer:")) 
    if (x < 0): 
     break 
    else: 
     sum += x 
関連する問題