我知道这个问题很无聊,但是我的程序一直在告诉我“返回”的功能。
那么它应该做的是如果用户按下“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='')
答案 0 :(得分:0)
如果要退出整个程序,则需要使用exit()
,而不是return
。 return
语句只能在函数内使用。这就是为什么当你在第三行上尝试时,你会得到一个错误说明的原因。
但通常你将“主代码”放在脚本的末尾,这意味着你通常不需要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
来检查空虚是更简单,更蟒蛇的。