【发布时间】:2018-09-29 19:19:43
【问题描述】:
最近,我正在练习为“递归函数”编写代码。这个,我正在尝试编写一个称为反向数字的函数,我注意到有很多不同的方法可以做到这一点。当我使用 return 时,我的代码在 IDLE 中工作。例如:
def reverse_digits(num):
if num < 10:
return num
else:
return str(num%10) + str(reverse_digits(num//10))
print(reverse_digits(1234))
但是,我想在递归函数中打印结果,例如,
def reverse_digits(num):
if num < 10:
return num
else:
print(str(num%10) + str(reverse_digits(num//10)))
reverse_digits(1234)
我会得到
21
3None
4None
谁能解释为什么?
或者帮我改进代码?
【问题讨论】:
-
是的,当你 print 某些东西 not 意味着函数会返回那个东西,所以如果你想显示步骤,你需要两个
print和return。