huyanmin 发表于 2020-12-20 09:48:15

24课习题十进制转二进制的递归算法执行流程

def Dec2Bin(dec):
    result = ''
   
    if dec:
      result = Dec2Bin(dec//2)#这两步的详细流程不了解,求详解
      return result + str(dec%2)
    else:
      return result

print(Dec2Bin(62))

昨非 发表于 2020-12-20 10:10:23

def Dec2Bin(dec):
    result = ''
    if dec:
      result = Dec2Bin(dec // 2) #每取余得到二进制的一位,递归的参数就地板除二,直到dec为0为止,说明各位已取完
      return result + str(dec % 2) #取余2得到的余数为二进制各位的倒序,依次以字符串的形式拼接在一起,相当于正序
    else:
      return result #返回正序二进制字符串
print(Dec2Bin(62))#打印出返回值

昨非 发表于 2020-12-20 19:40:02

记得及时结帖哈
页: [1]
查看完整版本: 24课习题十进制转二进制的递归算法执行流程