MMM啊 发表于 2019-7-15 11:57:33

哪里实现了逆序了呢?

def dec2bin(dec):
    result = ''
    if dec:
      result = dec2bin(dec // 2)
      return result + str(dec % 2)
    else:
      return result
print(dec2bin(62))

jackz007 发表于 2019-7-15 16:03:26

本帖最后由 jackz007 于 2019-7-15 16:15 编辑

      采用递归的方法取余数,第一个数是在递归到底的时候 (dec = 0) 产生,其它数都是在此后递归的逐级返回时依次产生,这个过程本身就具有逆序的效果,因此,最终产生的二进制字符串的顺序是正确的,不再需要逆序。

MMM啊 发表于 2019-7-15 22:45:13

jackz007 发表于 2019-7-15 16:03
采用递归的方法取余数,第一个数是在递归到底的时候 (dec = 0) 产生,其它数都是在此后递归的逐级 ...

嗯,确实是,我debug发现,第一个return是到最后才运行的,所以你说的没错

回忆浅离 发表于 2019-8-4 10:40:29

递归
页: [1]
查看完整版本: 哪里实现了逆序了呢?