猴子吃桃递归方法
猴子吃桃:猴子第一天摘下若干个桃子,当即吃了一半,不过瘾就多吃了一个。第二天又将剩下的桃子吃了一半,不过瘾多吃了一个。以后每天都吃前一天剩下的一般再加一个。到第10天刚好剩下一个。问猴子第一天摘了多少个桃子?
print("----猴子吃桃----")
while True:
def func(d):
if d == 10:
return 1
else:
result = 2*(func(d+1)+1)
return result
num = int(input("请输入第几天:"))
func(num)
print("第%d天共有%d个桃子"%(num,func(num))) 循环里定义函数{:10_277:} 永恒的蓝色梦想 发表于 2020-6-20 16:51
循环里定义函数
while True主要是为了玩多几次,不想每次都按F5 漏气的嘟嘟君 发表于 2020-6-20 23:03
while True主要是为了玩多几次,不想每次都按F5
我是告诉你把函数定义从循环里拿出来 是啊,或许人家专家编了一辈子程序,也没有搞过这些复杂的结构,其实解决问题和这些是无关的。除了递归是必须的。能不用递归,我也是不用的(除非强行不用,程序很难懂,或者是要绕弯)
上次有个生成GIF文件透明的java程序,用了一个别人的程序,后来想在里面加static常量,报错,一看他的类是类中类,明明结构上可以不这么复杂(凡是类种类,这些知识除了考试,几乎没有用处),去搞这些干嘛
页:
[1]