如何在我的Pig Latin Translator(Python)上添加退出选项



我已经用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'),如果语句是元音,它只能是一个字母,所以索引是没有意义的。

最新更新