递归问题
def yuo(n):i = ''
if n:
i= yuo(n//2)
returni + str(n%2)
else:
return i
print(yuo(10))
you(5)+str(10%2)
yuo(2)+str(5%2)+str(10%2)
you(1)+str(2%2+str(5%2)+str(10%2)
you(0)+str(1%2)+str(2%2+str(5%2)+str(10%2)
这个you(0)开不出来了,最后怎么算出的。 递归函数中有个if分支,you(0)走的都是else分支,直接返回'' 当n为0,if不成立,直接返回 ' ' 程序后面有个else,如果n除到0了,就直接返回空字符串,结束程序。 传入you参数是0,进入函数后,当参数为0就执行else 直接返回空字符{:10_257:}
页:
[1]