python2.7練習小例子(二十五)
阿新 • • 發佈:2018-04-25
點贊 實例 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練習小例子(二十五)