huangdongdong 发表于 2021-3-6 23:49:03

小白求助

def Dec2Bin(dec):
    temp = []
    result = ''

    while dec:                                                #如何退出循环的?
      quo = dec % 2
      dec = dec // 2
      temp.append(quo)

    while temp:                                              #temp是列表,能作为循环条件吗?而且退出循环的条件是什么?
      result += str(temp.pop())

    return result

print(Dec2Bin(62))

yuedong 发表于 2021-3-6 23:49:04

退出循环:
dec = dec // 2   
这里的整除,等dec = dec // 2 =0
就会退出了
第二个问题,列表能不能做条件不清楚,但是它退出是由于
temp.pop()是一个一个删除并返回temp中的元素
等到它成为一个空列表时
while temp 应该就相当于 while 0 了吧
然后就退出了

huangdongdong 发表于 2021-3-7 14:01:33

yuedong 发表于 2021-3-7 00:34
退出循环:
dec = dec // 2   
这里的整除,等dec = dec // 2 =0


dec   =   dec//2
这是地板除会留商,而商就会是下一个除数,那么dec//2==0的条件就不成立

yuedong 发表于 2021-3-7 14:26:34

huangdongdong 发表于 2021-3-7 14:01
dec   =   dec//2
这是地板除会留商,而商就会是下一个除数,那么dec//2==0的条件就不成立

1//2 = 0
页: [1]
查看完整版本: 小白求助