菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 基础教程
(追記) (追記ここまで)

Python 练习实例28

Python 100例 Python 100例

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

程序源代码:

实例

#!/usr/bin/python# -*- coding: UTF-8 -*-defage(n): ifn == 1: c = 10else: c = age(n - 1) + 2returncprint(age(5))

以上实例输出结果为:

18

Python 100例 Python 100例

AI 思考中...

5 篇笔记 写笔记

  1. #0

    健健

    459***[email protected]

    3

    Python3 参考实例:

    #!/usr/bin/python3
    def fun(age,rank): #age 年龄,rank 递归第几个人
     if rank == 1:
     return age
     else:
     return fun(age+2,rank-1)
    print (fun(10,5))
    

    健健

    459***[email protected]

    9年前 (2017年04月26日)
  2. #0

    sunjl

    136***[email protected]

    4

    最简单的实现方法,不需要递归:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    def age():
     n = 10
     for i in range(1, 5):
     n = n + 2
     print("第5个人{0}岁".format(n))
    age()

    sunjl

    136***[email protected]

    9年前 (2017年05月12日)
  3. #0

    飞入闲窗

    279***[email protected]

    6

    参考方法:

    #!/usr/bin/env python3
    #coding:utf-8
    def age(n):
     if n==1:
     return 10
     if n>1:
     return (n-1)*2+10
    print(age(5))
    

    飞入闲窗

    279***[email protected]

    9年前 (2017年05月31日)
  4. #0

    大大大大大大大熊

    382***[email protected]

    13

    Python3 测试实例:

    def fn(n):
     if n==1:
     return 10
     return 2+fn(n-1)
    print(fn(5))

    大大大大大大大熊

    382***[email protected]

    9年前 (2017年09月19日)
  5. #0

    iMax4ever

    jia***@foxmail.com

    6

    Python3

    def age(n):
     return 10 if not n-1 else age(n-1)+2
    print(age(5))

    iMax4ever

    jia***@foxmail.com

    9年前 (2017年10月08日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /