2进制
def second(dec):teep = []
while dec:
yu = dec % 2
shang = dec // 2
teep.append(yu)
print(teep)
我想的是将余数不断往teep这个列表里面填,但是实现不了,大佬可以帮我看看嘛 因为dec没有变化,所以循环无法终止 while 會判斷語句後面的表達式是真是假,只要你的 dec 不是 0,就永遠循環下去(因為所有數字都是真,除了 0 是假)
{:5_105:}你的代碼只有 yu,shang 和temp 在做改變,dec一直都沒變啊
參考我的代碼:
def binary(num: int) -> int:
n = num
res = ''
while n > 1:
if n%2 == 0:
res = res+'0'
n = int(n/2)
else:
res = res+'1'
n = int((n-1)/2)
res = int((res+'1')[::-1])
return res
print(binary(42)) # 101010
页:
[1]