不太懂函数调用
调用函数会导致主函数停止运行吗?例如函数调用本身def Dec2Bin(dec):#如果dec = 6
result = ''
if dec:
result = Dec2Bin(dec//2)#这句执行后下句什么时候执行
return result + str(dec%2)
else:
return result
print(Dec2Bin(62))
调用函数本身就是递归,
当然,你的脑子是不可能推算出它的过程的,所以你只要相信你的代码就行了!{:10_256:} 不会导致主函数停止呀
函数调用自身叫递归,主函数不可能会停止运行的,如果主函数都停止运行了,那么何来子函数的运行?
举个例子:你递归过程相当于打开与原文件夹同名的子文件夹,你打开一层一层的子文件夹
那最外面的文件夹就相当于此时的主函数,你现在只是进入了主文件夹的内部去运行子文件夹,但是你能所你已经退出根文件夹了嘛?
如果不清楚递归调用,可以去 DeBug 看下函数的运行过程,PyCharm、Vscode 等支持,很方便快捷,又容易理解
帝龟有点类似深度优先, 先不断的深入一层, 直到有确切的返回值, 再每一层返回,
所以它的下一句会等到帝龟到最后一层, 再返回到这一层去执行 Twilight6 发表于 2022-2-9 14:47
函数调用自身叫递归,主函数不可能会停止运行的,如果主函数都停止运行了,那么何来子函数的运行?
举 ...
如果吧 result = Dec2Bin(dec//2)return result +str(dec%2) 换成returnDec2Bin(dec//2)+ str(dec%2)我就理解了{:5_109:}
页:
[1]