【问题标题】:Decimal to binary function in Python using recursionPython中使用递归的十进制到二进制函数
【发布时间】:2022-11-14 10:15:29
【问题描述】:

我是 Python 新手,正在尝试编写一个二进制到十进制转换的函数,如下所示

def decimaltobinary(n):
    if n > 1:
        decimaltobinary(n//2)
    print(n%2,end='')
    #return n%2

decimaltobinary(4)

这工作得很好。现在的问题是当我如下修改它时,它没有给我正确的结果 -

def decimaltobinary(n):
    if n > 1:
        decimaltobinary(n//2)
    #print(n%2,end='')
    return n%2

a=decimaltobinary(4)
print(a)

我是否遗漏了退货声明?任何指针都会非常有帮助。

【问题讨论】:

    标签: python recursion


    【解决方案1】:

    在第二个示例中,if 中来自 decimaltobinary 的返回值被完全忽略。

    您需要做的是将返回的值分配给一个变量,然后将其与n%2 一起返回。

    尝试这个:

    def decimaltobinary(n):
    x = ''
    if n > 1:
        x = decimaltobinary(n//2)
    #print(n%2,end='')
    return str(x) + '' + str(n%2)
    
    a=decimaltobinary(4)
    print(a)
    

    【讨论】:

      猜你喜欢
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 2016-05-03
      • 2019-05-06
      • 1970-01-01
      相关资源
      最近更新 更多