首页 > 解决方案 > 递归地将 int 转换为二进制 (Python)

问题描述

对于以下内容,我必须将 int 转换为二进制字符串。我有一些限制,我不能更改前两行,此外,我必须返回 10^a 的二进制表示,其中 a 是输入 int。我尝试了以下方法,但它没有按应有的方式工作。此外,解决方案需要是递归的。请帮助某人。

{int} -> {str} 返回 10^a 的二进制字符串

def converttobin(a: int) -> str:
    if a == 1:
        return "0b1010"
    else:
        return converttobin(10^a//2) + str(a % 2)

标签: pythonpython-3.xrecursionbinaryinteger

解决方案


递归-检查,包括前两行-检查。这有点愚蠢,但约束也是......

def converttobin(a: int) -> str:
    if a == 1:
        return "0b1010"
    else:
        converttobin(1)
        return bin(10**a)

推荐阅读