请问while temp这一句是啥意思?
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))
while temp:
result += str(temp.pop()) 这个看不懂,在这个里面temp不是一个列表吗?怎么循环? 和字符串相加。。。第一次救助。 就是判断temp是不是一个空列表,如果是空列表的话就不进入while循环,如果不是的话,就一直进行循环,把temp里面的元素从后往前的顺序给result 本帖最后由 Twilight6 于 2020-7-3 23:00 编辑
while temp:
result += str(temp.pop()) 这个看不懂,在这个里面temp不是一个列表吗?怎么循环? 和字符串相加。。。第一次救助。
temp 确实是列表,while 是叫做叫做条件循环,而不是遍历循环,遍历循环是使用 for 循环才是循环列表中的元素
Python 中只要数值为 0、None、空列表、空字符串、空字典等条件都可以视为为布尔类型值的 False
只要非 0、非空字典、非空字符串、非空字典、非空列表等都可以视为布尔类型值的 True
所以你这里 while temp ,只要 temp 不为空列表,那么循环就会一直进行下去
而 temp 列表里面装的是你上一个循环过程中算出的余数,而 pop() 方法,就是将列表的最后一个数给拿出来
余数从temp列表拿出来是整型,不能和字符串进行 + 法拼接,所以要加上 str 转为字符串进行拼接
直到列表的元素全部被拿出来,列表为空,导致条件为False,不满足 while 循环条件 即退出循环
小甲鱼的铁粉 发表于 2020-7-3 22:43
就是判断temp是不是一个空列表,如果是空列表的话就不进入while循环,如果不是的话,就一直进行循环,把tem ...
小改改好活跃哦 苏沫儿 发表于 2020-7-4 09:20
小改改好活跃哦
{:10_297:} Twilight6 发表于 2020-7-3 22:47
temp 确实是列表,while 是叫做叫做条件循环,而不是遍历循环,遍历循环是使用 for 循环才是循环 ...
这里并没有定义temp=temp.pop(),只定义了result,怎么就能关联上呢?求助 鱼尾纹888 发表于 2021-8-2 20:40
这里并没有定义temp=temp.pop(),只定义了result,怎么就能关联上呢?求助
看看这行代码:
result += str(temp.pop()) Twilight6 发表于 2021-8-2 20:49
看看这行代码:
result += str(temp.pop())
试验了一下,理解了,temp.pop()就能返回一个少最后一个元素的新temp,谢谢!
页:
[1]