您似乎在Python 2解释器中运行Python 3代码.
不同之处在于,Python 3中的input()行为类似于Python 2中的raw_input().
此外,age.isdigit不会像您期望的那样调用isdigit()函数.相反,它只是确认该功能存在.
解决isdigit()问题后,您还会遇到另一个错误:在确定int(age)转换仅由数字组成之前,您正在执行int(age)转换.
Python 2程序
while True:
age = raw_input("How old are you?: ")
if age.isdigit() and int(age) > 15:
print "Congradulations you can drive!"
elif age.isdigit() and int(age) < 16:
print "Sorry you can not drive yet :("
else:
print "Enter a valid number"
Python 3程序
while True:
age = input("How old are you?: ")
if age.isdigit() and int(age) > 15:
print ("Congradulations you can drive!")
elif age.isdigit() and int(age) < 16:
print ("Sorry you can not drive yet :(")
else:
print ("Enter a valid number")
请注意,可以通过更改条件进一步改进这两种实现,但这超出了问题的范围.