|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼课后作业23,24 第一题答案:
有点不太理解
def zhuan(n):
result = ''
if n != 0:
result = zhuan(n//2)
return result + str(n%2)
else:
return result
以zhuan(110)为例:
问题一:第一次进入递归时:result = zhuan(55) 请问此时result仍然是''吗,如果不是,此时的result应该是什么呢?我的尝试结果如图:
问题二:第一次进入递归 执行程序result=zhuan(55)以后,系统下一步执行的是:return result + str(n%2)
还是说: 执行程序result=zhuan(55),系统下一步执行的是:result=zhuan(27)………………一直执行到result=zhuan(0)完成后才开始执行return result + str(n%2)
问题三:为什么result = ''和result = zhuan(n//2)同时存在,不会改变result变量类型吗?
在下小白,先在此谢谢大家了, 关于阶乘的递归能看懂,估计是递归之后接下来没有程序了.....这个冒出来return result + str(n%2)就傻掉了。。。 |
|