好吧,我还在学习python并试图每行打印一个字母,每个函数调用一个。这应该使用递归来完成。
我在这里因为错误而苦苦挣扎。只需要另一双眼睛,看看是否有东西缺失。
def recursive_print(cursor):
alphabet = 'abcdefghijklmnopqstuvwxyz'
index = len(alphabet) - cursor
if index > 0
recursive_print(index - 1)
letter = alphabet[index]
print letter
print recursive_print(0)
以下错误:
NameError: name 'index' is not defined
sh-4.3$ python main.py
File "main.py", line 4
if index > 0:
^
任何指针都会非常有用。
答案 0 :(得分:2)
要解决您眼前的问题,您还没有正确缩进。您在发布的 if 语句中也错过了冒号。试试这个:
def recursive_print(curser):
alphabet = 'abcdefghijklmnopqstuvwxyz'
index = len(alphabet) - curser
if index > 0:
recursive_print(index - 1)
letter = alphabet[index]
print letter
print recursive_print(0)
接下来,您必须担心无法正确处理索引的无限递归。我认为问题是一个微不足道的心理错误:将递归改为
recursive_print(curser + 1)
这仍然会在基本情况下为您提供超出范围的索引,但我希望您能解决这个问题。
顺便说一句,这个单词拼写了#34;光标",以防你关心。