十进制转二进制
请问如下代码中result += str(temp.pop())是什么作用呀?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)) 取出列表中的最后一个元素。
pop如果不给参数,默认弹出最后一个元素
(有返回值,返回值就是弹出来的元素) 就是将 temp 中的元素拼接成一个字符串 本帖最后由 Twilight6 于 2020-4-2 18:50 编辑
while dec:
quo = dec % 2
dec = dec // 2
temp.append(quo)
这里这个循环完temp = [ 0,1,1,1,1,1]
然后到while temp:
result += str(temp.pop())
这个循环temp.pop() 每次拿出一个元素 ,括号里没填数值默认是拿出最后一个元素 ,拿出后转成字符串和result拼接
当这个循环结束 就拼接成了 result = '111110' 了
result +=str(temp.pop()) 可以写成result=result + str(temp.pop())
将 temp 中的元素拼接成一个字符串 Twilight6 发表于 2020-4-2 18:47
这里这个循环完temp = [ 0,1,1,1,1,1]
然后到
明白了,非常感谢大家!
页:
[1]