Phil_gH 发表于 2020-10-3 21:03:30

递归写十进制转二进制的代码,没怎么看懂

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

昨非 发表于 2020-10-3 21:26:51


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

理解了记得给设个【最佳答案】
页: [1]
查看完整版本: 递归写十进制转二进制的代码,没怎么看懂