灵魂溢出 发表于 2020-9-16 22:23:46

小甲鱼第17讲的最后一题求组

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))

为什么最后要result + = str(temp.pop())
result = ''在这里是做什么用,为什么要剔除temp的最后一个元素,我删掉这个剔除元素的过程输出的为什么是空白

昨非 发表于 2020-9-16 22:31:55

result + = str(temp.pop())
temp内是上面得到的二进制结果(列表)
调用pop方法弹出的同时返回弹出值,也以字符串拼接的形式连接在了result(字符串)里
最后打印的字符串就是你要的结果
少了这句,result就是空的,打印当然是空的

昨非 发表于 2020-9-16 22:39:54

哦对了,由于十进制转二进制时先得到的为二进制低位,
所以上述操作其实也在同时实现了将顺序反过来的效果
必须有的

如果答案满意,还请设个最佳
页: [1]
查看完整版本: 小甲鱼第17讲的最后一题求组