python编程提问十进制转化为二进制


def Dec2Bin(dec):
    temp = []
    result = ''
    while dec:
        quo = dec % 2
        dec = dec // 2
        temp.append(quo)

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

    
    

下面的 while temp是什么意思呢?
temp是一个列表啊
还有temp.pop是什么意思呢,这个代码不是剔除最后一个元素的意思吗?

while temp这段是将temp中的元素倒过来

pop会引起两种结果,一个是从列表弹出最后一个元素,第二个是将弹出的元素作为返回值。

while 是一个循环语句,其后面一般有一个判断语句,比如

while a>0:

但也可以是一个布尔值,即True或者Flase,当布尔值是0、空列表、空字符串等空值的时候就判断为Flase,循环就不会执行,其余的都为True,循环就会执行,在这里,当列表temp变成空列表的时候循环就会停止。
pop函数的作用是删除其作用的列表的最后一个值(这是默认设定),并将这个值作为它的返回值,比如:

list = [1,2,3]
a = list.pop()
print(list,a

其输出结果为:

[1, 2] 3

更多关于pop函数用法的知识:https://www.runoob.com/python3/python3-att-list-pop.html