zqchobits 发表于 2020-12-30 16:17:01

有大佬解释下疑问吗?

2. 编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结果与调用 bin() 一样返回字符串形式。


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

小甲鱼的代码10进制转换2禁止,但是在运行result += str(temp.pop())的时候我理解是吧结果倒过来输出了,对吗?

zqchobits 发表于 2020-12-30 16:23:02

自顶

jackz007 发表于 2020-12-30 16:24:48

本帖最后由 jackz007 于 2020-12-30 16:26 编辑

      是的,pop() 从列表的末尾开始按顺序每次弹出 temp 中最后的那个元素,直到 temp 为空,这样,自然也就实现了字符串逆序重组。

tryhi 发表于 2020-12-30 16:30:30

这个数字列表逆序组成字符串的写法倒是挺精炼
页: [1]
查看完整版本: 有大佬解释下疑问吗?