1. 程式人生 > >python2.7練習小例子(二十五)

python2.7練習小例子(二十五)

點贊 實例 net mil 感覺 format 經典題目 tty 遞推

25):題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後問第一個人,他說是10歲。請問第五個人多大?

程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數,需知道第四人的歲數,依次類推,推到第一人(10歲),再往回推。

程序源代碼:


#!/usr/bin/python
# -*- coding: UTF-8 -*-

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

以上實例輸出結果為:

18

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))

最簡單的實現方法,不需要遞歸:

#!/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()

#!/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))

Python3 測試實例:

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

Python3 測試實例:

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

經典題目哦。如果感覺不錯的話,請多多點贊支持哦。。。

  原文鏈接:https://blog.csdn.net/luyaran/article/details/80074745

python2.7練習小例子(二十五)