2017-01-18 11 views
0

プログラムで最初のユーザー入力値を無視しないようにするのに問題があります。私は、プログラムがその値を取るようにし、それが奇数なら偶数または奇数の値を他の偶数の値に加算したい。また、私はいくつの偶数と奇数が入力されたかをカウントするプログラムを取得しようとしていますが、最初の数は無視されます。プログラムは最初のユーザー入力を無視しているようです

# list of all the variables used in the program 
interger_str = input("Input an interger (0 terminates): ") 
interger_int = int(interger_str) 
odd_count = 0 
even_count = 0 
even_sum = 0 
odd_sum = 0 

while (interger_int > 0 or interger_int < 0): 
    interger_str = input("Input an interger (0 terminates): ") 
    interger_int = int(interger_str) 

    if (interger_int < 0): 
     interger_int == 0 
     interger_str = input("Input an interger (0 terminates): ") 
     interger_int = int(interger_str) 

# count the number of even intergers entered 
    if (interger_int % 2 == 0): 
     even_count 
     even_count += 1 
     even_sum += interger_int 

# count the number of odd intergers entered 
    if (interger_int % 2 == 1): 
     odd_count 
     odd_count = odd_count + 1 
     odd_sum = odd_sum + interger_int 
else: 

    print("\nCount of odd numbers: ", odd_count) 
    print("Count of even numbers: ", even_count) 
    print("Sum of odd numbers: ", odd_sum) 
    print("Sum of even numbers: ", even_sum) 

ありがとうございます!

出力例: Example

*ゼロであっても

+2

ユーザーが値を入力するように求めているときに見てください。あなたの頭の中でループを実行します。別の値を収集する前に、ループ外で収集した値を使用しますか? –

+1

'interger_int == 0'はおそらくあなたが思っていることをしません、なぜ偶数か奇数かをチェックする前に2番目の入力を得ますか? – depperm

+0

' if ... else'が正しく字下げされていません – depperm

答えて

1

あなたはwhileループであなたの最初の値を交換するとして含まれています。

以下のコードはデフォルト値を定義し、whileループで入力を取得します。

# list of all the variables used in the program 
interger_int = 1 
odd_count = 0 
even_count = 0 
even_sum = 0 
odd_sum = 0 

while (interger_int > 0 or interger_int < 0): 
    interger_str = input("Input an interger (0 terminates): ") 
    interger_int = int(interger_str) 

    if (interger_int < 0): 
     continue 

# count the number of even intergers entered 
    if (interger_int % 2 == 0): 
     even_count 
     even_count += 1 
     even_sum += interger_int 

# count the number of odd intergers entered 
    elif (interger_int % 2 == 1): 
     odd_count 
     odd_count = odd_count + 1 
     odd_sum = odd_sum + interger_int 
    else: 
     break 

print("\nCount of odd numbers: ", odd_count) 
print("Count of even numbers: ", even_count) 
print("Sum of odd numbers: ", odd_sum) 
print("Sum of even numbers: ", even_sum) 
関連する問題