【问题标题】:Convert an int to binary recursively (Python) [duplicate]递归地将int转换为二进制(Python)[重复]
【发布时间】:2021-02-16 07:14:01
【问题描述】:

对于以下内容,我必须将 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)

【问题讨论】:

  • n 来自哪里? p2b 是什么?抱歉,这看起来好像您只是添加了一些您在某处找到的代码行。
  • 对此我感到非常抱歉,我有两个功能要做,我把它们弄混了,非常抱歉
  • "但它并没有按应有的方式工作。"为何如此?它会产生错误吗?它会产生意外的输出吗?
  • What 对于what 输入和what 输出,您会得到意外输出吗?
  • 电源运算符是**,而不是^。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    相关资源
    最近更新 更多