漏气的嘟嘟君 发表于 2020-6-20 16:40:30

猴子吃桃递归方法

猴子吃桃:猴子第一天摘下若干个桃子,当即吃了一半,不过瘾就多吃了一个。第二天又将剩下的桃子吃了一半,不过瘾多吃了一个。
以后每天都吃前一天剩下的一般再加一个。到第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)))

永恒的蓝色梦想 发表于 2020-6-20 16:51:48

循环里定义函数{:10_277:}

漏气的嘟嘟君 发表于 2020-6-20 23:03:26

永恒的蓝色梦想 发表于 2020-6-20 16:51
循环里定义函数

while True主要是为了玩多几次,不想每次都按F5

永恒的蓝色梦想 发表于 2020-6-21 07:55:30

漏气的嘟嘟君 发表于 2020-6-20 23:03
while True主要是为了玩多几次,不想每次都按F5

我是告诉你把函数定义从循环里拿出来

java2python 发表于 2020-6-21 09:34:48

是啊,或许人家专家编了一辈子程序,也没有搞过这些复杂的结构,其实解决问题和这些是无关的。除了递归是必须的。能不用递归,我也是不用的(除非强行不用,程序很难懂,或者是要绕弯)
上次有个生成GIF文件透明的java程序,用了一个别人的程序,后来想在里面加static常量,报错,一看他的类是类中类,明明结构上可以不这么复杂(凡是类种类,这些知识除了考试,几乎没有用处),去搞这些干嘛
页: [1]
查看完整版本: 猴子吃桃递归方法