这是实际的代码
age = input('How old are you? ')
# 2-8 2 dollar ticket
# 65 5 dollar ticket
# 10 dollar for everyone else
if not ((age >= 2 and age <= 8) or age >= 65):
print('You are not a child, you pay full price')
else:
print('You are paying a discounted price')
只是学习编码,但是我做过类似的事情,并且有相同的代码错误,然后我从正在上的在线课程中复制了一个代码,却遇到了相同的错误。
答案 0 :(得分:4)
您正在尝试将字符串与整数进行比较。您需要先将字符串转换为整数:
age = int(input('How old are you? '))
要确保用户输入一个整数,可以使用它。
age = input('How old are you? ')
while not age.isdigit():
age = input('Enter an integer. How old are you? ')
age = int(age)
答案 1 :(得分:1)
当转换为int
对象时,程序可能会引发exceptions
,因此请使用try除外(如果您需要在退出程序之前打印一些消息)。
age = input('How old are you? ')
try:
age=int(age)
except ValueError:
print('only numbers is alowed! please re run the program')
raise
# 2-8 2 dollar ticket
# 65 5 dollar ticket
# 10 dollar for everyone else
if not ((age >= 2 and age <= 8) or age >= 65):
print('You are not a child, you pay full price')
else:
print('You are paying a discounted price')
答案 2 :(得分:0)
这将帮助您:
age = input('How old are you?')
# 2-8 2 dollar ticket
# 65 5 dollar ticket
# 10 dollar for everyone else
if not ((int(age) >= 2 and int(age) <= 8) or int(age) >= 65):
print('You are not a child, you pay full price')
else:
print('You are paying a discounted price')