簡體   English   中英

為什么這個簡單的代碼對Python不起作用?

[英]Why isn't this simple code working, for Python?

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語句檢查奇數還是偶數。

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

raw_input的返回值是一個字符串,但是您需要一個數字來進行奇偶校驗測試。 您可以檢查它是否為字母字符串,如果不是,則將其轉換為整數。 例如:

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."

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM