如何在if语句之后继续我的程序



这里是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

最新更新