哪里实现了逆序了呢?
def dec2bin(dec):result = ''
if dec:
result = dec2bin(dec // 2)
return result + str(dec % 2)
else:
return result
print(dec2bin(62)) 本帖最后由 jackz007 于 2019-7-15 16:15 编辑
采用递归的方法取余数,第一个数是在递归到底的时候 (dec = 0) 产生,其它数都是在此后递归的逐级返回时依次产生,这个过程本身就具有逆序的效果,因此,最终产生的二进制字符串的顺序是正确的,不再需要逆序。
jackz007 发表于 2019-7-15 16:03
采用递归的方法取余数,第一个数是在递归到底的时候 (dec = 0) 产生,其它数都是在此后递归的逐级 ...
嗯,确实是,我debug发现,第一个return是到最后才运行的,所以你说的没错 递归
页:
[1]