1
x = raw_input("Write a number")
if x.isalpha():
    print "Invalid!"
elif x%2==0:
    print "The number you have written is EVEN"
elif x%2!=0:
    print "The number you have written is ODD"
else:
    print "Invalid!"

数字が奇数か偶数かをチェックして出力することになっています。私のifステートメントは、raw_inputがアルファベットであるかどうかをチェックします。これは機能しないためです。そして、私の elif ステートメントは奇数か偶数かをチェックします。

4

2 に答える 2

5

の戻り値raw_inputは常に文字列です。%演算子を使用する場合は、整数に変換する必要があります。

x = raw_input("Write a number")
if x.isalpha():
    print "Invalid!"
x = int(x)

代わりに例外処理x.isalpha()を使用できます。

try:
    x = int(raw_input("Write a number"))
except ValueError:
    print 'Invalid!'
else:
    if x % 2 == 0:
        print "The number you have written is EVEN"
    else:
        print "The number you have written is ODD"

入力が有効な整数でない場合に発生するint()ためです。ValueError

于 2013-02-16T17:44:07.450 に答える
1

の戻り値raw_inputは文字列ですが、パリティ テストを行うには数値が必要です。アルファ文字列かどうかを確認し、そうでない場合は int に変換できます。例えば:

xs = raw_input("Write a number")
if xs.isalpha():
    print "Invalid!"
else:
    xn = int(xs)
    if xn % 2 == 0:
        print "The number you have written is EVEN"
    elif xn % 2 != 0:
        print "The number you have written is ODD"
    else:
        print "The universe is about to end."
于 2013-02-16T17:53:37.173 に答える