"返回"外部功能

时间:2013-11-27 20:38:25

标签: python python-3.x

我知道这个问题很无聊,但是我的程序一直在告诉我“返回”的功能。

那么它应该做的是如果用户按下“Enter”它应该停止。否则它应该继续询问和解决输入。

我想知道我该怎么做我想要一个新的function test_pig(),它应该在输入中输入单词:happy, duck, glove, evil,eight,yowler,crystal

sentence = input("Please enter a sentence: ")
if sentence==[]:
        return
vowels = ("a", "e", "i", "o", "u", "y", "A", "E", "I", "O", "U", "Y")
words =  sentence.split()

def pig(word):
    for u in range(len(word)):
        if word[u] in vowels:
                          return u
    return -1
for word in words:
    vowel = pig(word)

    if(word[0] == 'y'):
             print(word[1:] + word[0] + "ay", ' ', end='')
    elif(vowel == -1):
             print(word, ' ', end='')
    elif(vowel == 0):
             print(word + "way", ' ', end='')
    else:
             print(word[vowel:] + word[:vowel] + "ay", ' ', end='')

1 个答案:

答案 0 :(得分:0)

如果要退出整个程序,则需要使用exit(),而不是returnreturn语句只能在函数内使用。这就是为什么当你在第三行上尝试时,你会得到一个错误说明的原因。

但通常你将“主代码”放在脚本的末尾,这意味着你通常不需要exit。例如,这里有一些代码会一直询问输入并在其上调用pig,直到用户输入:

vowels = # etc.

def pig(word):
    # your definition here

while True:
    sentence = input("Please enter a sentence: ")
    if not sentence:
        break
    words = sentence.split()
    for word in words:
        # your for-loop code here

break将退出循环,循环后没有代码,因此脚本刚刚成功完成。

您的代码还有其他问题,但这会让您超越第一个。


作为旁注,我将if sentence==[]更改为if not sentence的原因是sentence是一个字符串,并且没有任何字符串等于空列表。您可以检查空字符串,例如if sentence == ''。但是用not来检查空虚是更简单,更蟒蛇的。