Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在我的Pig拉丁翻译程序(Python)上添加退出选项_Python - Fatal编程技术网

如何在我的Pig拉丁翻译程序(Python)上添加退出选项

如何在我的Pig拉丁翻译程序(Python)上添加退出选项,python,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

我为学校的作业做了一个简单的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才能使其正常工作。这里没有区别,但是如果您完全想结束一个程序,而不仅仅是当前循环,那么它将非常有用

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**

您可以使用带有空字符串的sentinel值的
iter
,用户只要按enter键就会退出循环,您还应该在循环外声明元音:

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语句:print(语句[0]+'way')
,如果语句是元音,则它只能是一个字母,因此索引是没有意义的。

您想将
退出
选项放在哪里您可以按
Ctrl-C
退出脚本。谢谢。现在我知道,对于未来的程序:是的,为了完整起见,您还可以使用
sys.exit()
完全退出程序(您还需要包括
import sys
,这样才能工作)。这里没有区别,但是如果您完全想结束一个程序,而不仅仅是当前循环,那么它将非常有用。