如果我输入的不是整数,我会一直收到错误。我希望循环重复,如果输入被按下或输入一个字母。我想向用户提供我在else语句中输入的错误消息,然后返回再次询问输入。谢谢。
pizza_high = 0
while not repeat:
pizza_high = int(input('How many pizzas would you like to order:'))
if pizza_high != int:
repeat = True
else:
print('**ERROR** Please use whole numbers only!!')
pizza_high = 0
for x in range(0, pizza_high):
print('pizzas')
如果选择“5”,这是输入,它可以正常工作。
How many pizzas would you like to order: 5
pizzas
pizzas
pizzas
pizzas
pizzas
但是如果我点击输入或输入一个字母就会出现此错误
How many pizzas would you like to order: t
ValueError: invalid literal for int() with base 10: ';'
答案 0 :(得分:1)
有两种基本策略。您可以检查转换为整数是否有效或只是尝试并捕获错误。以下是两者的示例,并添加了其他清理。例如,它比一个额外的变量更直接地突破了。请注意你的4个缩进空间。
while True:
pizza_high = input('How many pizzas would you like to order:')
if pizza_high.isdigit():
pizza_high = int(pizza_high)
break
else:
print('**ERROR** Please use whole numbers only!!')
for x in range(0, pizza_high):
print('pizzas')
while True:
try:
pizza_high = int(input('How many pizzas would you like to order:'))
break
except ValueError:
print('**ERROR** Please use whole numbers only!!')
for x in range(0, pizza_high):
print('pizzas')