将十进制转换为二进制(Python)

时间:2020-11-03 13:43:31

标签: python python-3.x recursion binary decimal

我必须递归编写一个函数,以转换给定的十进制字符串并返回二进制。我无法更改函数的前三行(n = Len(a)... return str(bin(int(a)))),但我不明白为什么我的解决方案不起作用。有人有建议吗?

{str}-> {str}

def converttobin(a: str) -> str:
    n = len(a)
    if n == 1:
        return str(bin(int(a)))
    else:
        return converttobin(str(int(a) % 2)) + str(int(a) % 2)

1 个答案:

答案 0 :(得分:1)

将商str((int)a//2)发送给函数调用,而不是发送余数。

对于十进制到二进制的转换,我们将余数作为当前输出,并将转换进一步应用于商。