raorr 发表于 2020-6-22 09:49:32

第十七讲课后作业10—>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))


咩错,又是我这个垃圾。。。

我自己算了一下,算出来和甲鱼这个得出来的结果有一点点不一样,
甲鱼得出来的结果是111110,我是011110

从62开始循环的话,62%2=0
可以整除啊,没有余数啊,不是应该是0吗

while temp:
      result += str(temp.pop())
然后就是这行代码没太懂




之前发到人家web开发那里去了,手滑

Twilight6 发表于 2020-6-22 10:05:30



你是怎么算的?正确答案就是 111110 呀



从下往上拼接余数 得到结果 111110

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

pop() 默认弹出列表里的最后一个,配合上面那个图,从上到下 余数是一个个 存入 temp 的

然后你要从下往上取就要将列表里的值从最后一个慢慢取出来




raorr 发表于 2020-6-22 10:51:32

Twilight6 发表于 2020-6-22 10:05
你是怎么算的?正确答案就是 111110 呀




哦哦哦,我知道我哪里做错了,谢谢大神

Twilight6 发表于 2020-6-22 10:52:13

raorr 发表于 2020-6-22 10:51
哦哦哦,我知道我哪里做错了,谢谢大神

客气拉~{:10_281:}
页: [1]
查看完整版本: 第十七讲课后作业10—>2