python递归十进制转化二进制_什么是递归?用十进制转二进制的Python函数示例说明...

先上用Python写的十进制转二进制的函数代码:

def Dec2Bin(dec):

result = ''

if dec:

result = Dec2Bin(dec//2)

return result + str(dec%2)

else:

return result

print(Dec2Bin(62))

图解此函数执行过程:

文字描述此函数的执行过程:

以十进制数10作为例子来解释递归问题。首先,进入函数Dec2Bin(10),此时参数dec=10,而result接受的是Dec2Bin(5)的返回值;于是,程序又进入了Dec2Bin(5)的函数体,注意,此时Dec2Bin(10)的函数程序还没有执行完,正在外层程序等待Dec2Bin(5)给它返回result的值呢。在Dec2Bin(5)的函数里,result的值又是Dec2Bin(2)的返回值;于是乎,程序又让Dec2Bin(5)等到起,转而进入Dec2Bin(2)的函数里。在Dec2Bin(2)的函数里,同样有个result的值,它是Dec2Bin(1)的返回值;程序暂停了Dec2Bin(2)继续往下执行,来到了Dec2Bin(1)函数体,然而,Dec2Bin(1)的result的值是Dec2Bin(0)的返回值;正在这时,程序说,Dec2Bin(dec)函数的参数dec为假的时候,执行else语句,即返回result,而此时result就是初始化时的空

你可能感兴趣的:(python递归十进制转化二进制_什么是递归?用十进制转二进制的Python函数示例说明...)