[英]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.