我试图编写一个递归程序,从非元音单词返回一个字母串。我的代码现在打印出“University”的所有非元音,但永远不会结束。有什么想法吗?在
def removeVowels9(aString):
if len(aString) == 0:
return newString
else:
newString = aString[1:len(aString) + 1]
firstLetter = aString[0]
#print(firstLetter)
if firstLetter in "aeiouAEIOU":
return removeVowels9(newString)
else:
newString = newString + firstLetter
print(newString)
return removeVowels9(newString)
显然,您永远不会碰到基本情况,因为您将得到一个
NameError
(newString
尚未定义)。在为什么?让我们看看你的第三个案例:
一旦你删除了所有的元音,这只是继续循环辅音,正如你应该从你的输出中看到的:
^{pr2}$以下是最小的修复:
但这可能要整洁得多:
它可以:
注意变量名等与the style guide的兼容性。。在
相关问题 更多 >
编程相关推荐