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)