我已经用python制作了一个简单的猪拉丁语翻译器,用于学校的作业,但想知道如何输入退出选项?这是我到目前为止的代码:
while True:
vowels = ('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')
statement = input('Please enter a word to translate: ')
if statement in vowels:
print(statement[0] + ('way'))
else:
print(statement[1:] + statement[0] + ('ay'))
如果用户键入"exit"等关键字,则可以使用 break 退出循环。关键字"break"将结束代码当前所在的 for 或 while 循环。在您的情况下,它可以结束 while True 循环。
while True:
vowels = ('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')
statement = input('Please enter a word to translate: ')
if statement == "EXIT":
print ("Exiting program.")
break
if statement in vowels:
print(statement[0] + ('way'))
else:
print(statement[1:] + statement[0] + ('ay'))**strong text**
这是特定于大小写的,因此这可能是避免与只想输入单词 exit 的人发生冲突的最简单方法。
为了完整起见,您也可以使用 sys.exit() 完全退出程序。您还需要包含导入系统才能正常工作。这里没有区别,但是如果您完全想结束程序而不仅仅是当前循环,那将很有用。
import sys
while True:
vowels = ('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')
statement = input('Please enter a word to translate: ')
if statement == "EXIT":
print ("Exiting program.")
sys.exit()
if statement in vowels:
print(statement[0] + ('way'))
else:
print(statement[1:] + statement[0] + ('ay'))**strong text**
用iter
的哨兵值做一个空字符串,用户只要按回车键就会退出循环,你也应该在循环外声明元音:
vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}
for statement in iter(lambda: input('Please enter a word to translate '
'or hit "enter" to exit: '),""):
if statement in vowels:
print(statement + 'way')
else:
print(statement[1:] + statement[0] + 'ay')
你也使用if statement in vowels:print(statement[0] + 'way')
,如果语句是元音,它只能是一个字母,所以索引是没有意义的。