supermanmimi 发表于 2020-2-20 10:22:39

编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结...

def Dec2Bin(dec):
    temp = []
    result = ''

    while dec:
      quo = dec % 2
      dec = dec // 2
      temp.append(quo)

    while temp:
      result += str(temp.pop())

    return result

print(Dec2Bin(62))

各位大佬 这些代码的思路我看不太懂 能否帮忙解答一下?

txxcat 发表于 2020-2-20 10:52:02

def Dec2Bin(dec):
    temp = []
    result = ''

    while dec:
      quo = dec % 2
      dec = dec // 2
      temp.append(quo)#把每次除2的余数生成一个列表,dec最后为0退出循环

    while temp:
      result += str(temp.pop())#把列表的数字按逆序转换成字符串拼接起来,pop到最后temp为空退出循环
#       result = result + str(temp.pop())上面一句相当于这行的简写
    return result

print(Dec2Bin(62))

supermanmimi 发表于 2020-2-20 10:55:38

txxcat 发表于 2020-2-20 10:52


谢谢大佬!

田埂 发表于 2020-2-29 21:01:32

学习到了!
页: [1]
查看完整版本: 编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结...