这里是python的初学者。我正在尝试制作一个程序,将前20个英文数字翻译成西班牙语(反之亦然,根据用户的选择(。我想包括一个条款,告诉用户他们选择的选项无效,然后提示他们选择一个有效的选项。当我运行我的程序时,它会给出一条消息,说这个号码无效,但不允许他们选择一个新号码。如有任何帮助,我们将不胜感激!
i = int(input('To go from English to Spanish, press 1. Press 2 for Spanish to English translation'))
if i != 1 or 2:
print('Invalid statement. Please print either 1 or 2 for translation.')
您需要这样做:
while True:
i = int(input('To go from English to Spanish, press 1. Press 2 for Spanish to English translation'))
if i != 1 and i!=2:
print('Invalid statement. Please print either 1 or 2 for translation.')
if i==1 or i==2:
break
您可以使用while
循环重新要求用户输入一个新号码,如下所示:
while True:
i = int(input('To go from English to Spanish, press 1. '
'Press 2 for Spanish to English translation'))
if i in (1, 2):
break
print('Invalid statement. Please print either 1 or 2 for translation.')
更新
如果您想让代码在不输入integer
值的情况下工作,则需要将其封装在try/except
块中。
while True:
try:
i = int(input('To go from English to Spanish, press 1. '
'Press 2 for Spanish to English translation'))
if i in [1,2]:
break
except:
print('Invalid statement. Please print either 1 or 2 for translation.')
print('Here we go...')
这是一个repl.it链接:https://replit.com/@HarunYlmaz/OverjoyedWoodenModels#main.py