关于递归的小问题
def Dec2Bin(dec):result = ''
if dec:
result = Dec2Bin(dec//2)
return result + str(dec%2)
else:
return result
print(Dec2Bin(62))
哪位大神指导指导呀,帮忙解读一下这个递归 就你这一段代码说明一下:
函数Dec2Bin(62)运行后返回 Dec2Bin(31) + str(0)
而 Dec2Bin(31) 的返回值是 Dec2Bin(15) + str(1),所以 Dec2Bin(62) 返回的就变成了 Dec2Bin(15) + str(1) + str(0)
一直递归下去直到 dec = 0,此时 Dec2Bin(0) 返回的是 '',所以整个函数的返回值就是'' +...+ str(1) + str(0) 。
功能是十进制转二进制,过程大致就是楼上那样
页:
[1]