如何创建函数以假定为正整数使用递归将数字转换为二进制形式

时间:2018-12-11 03:10:54

标签: python recursion binary

我的代码可以正确运行,但是前面要多加0才能摆脱它吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用标志作为可选参数来指示该调用是否在顶层,并且如果且仅在这样的情况下,它将返回'0';否则它将返回一个空字符串:

def binary(n, top_level=True):
    if n > 0:
        return binary(n // 2, False) + str(n % 2)
    elif top_level:
        return '0'
    else:
        return ''

这样:

binary(11)

返回:'1011'