python 递归函数 return
python recursion function return
我想用递归做十进制-二进制转换器。
我已经做到了,但是我的功能(下)returns None..
如果我将 return 子句更改为打印 - 它可以正常工作。
但我想 returning 在这里!
有什么问题吗?
def my_bin(num, result = ''):
if num == 0:
return result[::-1]
else:
result += str(num%2)
my_bin(num//2, result)
my_bin(5) # None
缺少一个return:
def my_bin(num, result = ''):
if num == 0:
return result[::-1]
else:
result += str(num%2)
return my_bin(num//2, result)
my_bin(5)
我想用递归做十进制-二进制转换器。 我已经做到了,但是我的功能(下)returns None.. 如果我将 return 子句更改为打印 - 它可以正常工作。 但我想 returning 在这里! 有什么问题吗?
def my_bin(num, result = ''):
if num == 0:
return result[::-1]
else:
result += str(num%2)
my_bin(num//2, result)
my_bin(5) # None
缺少一个return:
def my_bin(num, result = ''):
if num == 0:
return result[::-1]
else:
result += str(num%2)
return my_bin(num//2, result)
my_bin(5)