我搜索了论坛并发现了类似的问题,但没有运气解决我的问题。
我的代码旨在使用递归交换每个单词的每两个字母并打印结果。对于具有偶数字母的单词,输出中包含单词“无”,我不知道如何修复...
这是代码:
def encryptLine(line, count):
headline = line[count:]
if length(headline) > 0:
if count == length(line) - 1:
new = headline
return new
elif count <= length(line):
new = head(tail(headline)) + head(headline)
new = new + str(encryptLine(line, count+2))
return new
print(encryptLine('abcd', 0))
'abcd'的输出是badcNone,除了单词None之外,这是正确的。 'abcde'的输出是'badce',这是正确的......
提前感谢您的帮助!
答案 0 :(得分:8)
将return ""
添加到函数定义,即
def encryptLine(line, count):
headline = line[count:]
if length(headline) > 0:
if count == length(line) - 1:
new = headline
return new
elif count <= length(line):
new = head(tail(headline)) + head(headline)
new = new + str(encryptLine(line, count+2))
return new
return ""
否则,如果None
不成立,该函数将返回length(headline) > 0
。
答案 1 :(得分:2)
没有在这里,因为你的函数什么也没有返回。 有一种情况你没有返回任何东西
if length(headline) <= 0:
在Python中,如果没有返回函数并且您尝试访问返回值,则该值将为None。