最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第八章 函數(shù)-4

2023-07-11 10:58 作者:wangyanhpa  | 我要投稿

8.4 遞歸函數(shù)

前面我們學(xué)習(xí)了main函數(shù)可以調(diào)用其它函數(shù),實(shí)際上函數(shù)也可以調(diào)用自己。還可以調(diào)用自己?

直接或間接的調(diào)用自身的函數(shù),稱(chēng)為遞歸函數(shù)??纯蠢觼?lái)了,計(jì)算5的階乘。想想怎么做。最簡(jiǎn)單的使用循環(huán)來(lái)做,代碼如下,這個(gè)寫(xiě)不出來(lái)的話(huà),doing sit-ups and jumping jacks,200個(gè)怎么樣?

# 方法1:循環(huán)實(shí)現(xiàn)

fac=1

num=5

for i in range(1,num+1):

??? fac=fac *i

print(fac)

?

# 方法2:函數(shù)實(shí)現(xiàn) ?這個(gè)現(xiàn)在也應(yīng)該能做出來(lái)了,想想已知,求什么結(jié)果,設(shè)計(jì)函數(shù)參數(shù)和返回值

def Factorial(num):

??? fac=1

??? for i in range(1,num+1):

??????? fac=fac *i

??? return fac

print(Factorial(5))

?

# 方法3:遞歸函數(shù)實(shí)現(xiàn) ?這個(gè)需要仔細(xì)看看的

def Factorial2(num):

??? if num==1:

??????? return 1

??? else:

??????? return num *Factorial2(num-1)

print(Factorial2(5))

?

我們看一下遞歸函數(shù)實(shí)現(xiàn)的方法,F(xiàn)actorial2(5),此時(shí)num值是5,所以執(zhí)行循環(huán)體中的else部分,而else部分num *Factorial2(num-1)又調(diào)用了Factorial2,只不過(guò)參數(shù)改成5-1=4。程序執(zhí)行遞歸函數(shù)的調(diào)用過(guò)程請(qǐng)看下圖:

這個(gè)估計(jì)自己看也費(fèi)勁,so 上課講的時(shí)候要認(rèn)真聽(tīng)呦!

如果計(jì)算Factorial2(5),可以根據(jù)遞歸函數(shù)定義得到計(jì)算過(guò)程如下,使用顏色區(qū)分對(duì)應(yīng)值:

編程練習(xí):

1. 遞歸函數(shù)fib實(shí)現(xiàn)斐波那契數(shù)列(自己百度一下什么意思吧)

def fib(n):

??? if n==0:

??????? return 0

??? elif n==1:

??????? return 1

??? else:

??????? return fib(n-1) + fib(n-2)

?

print(fib(15))? # 610

?

還想知道到底調(diào)用了多少次fib函數(shù),改寫(xiě)代碼如下:

def fib(n):

??? global count? #全局變量

??? count = count +1 # 次數(shù)加1,看看到底調(diào)用了多少次fib函數(shù)

?

??? if n==0:

??????? return 0

??? elif n==1:

??????? return 1

??? else:

??????? return fib(n-1) + fib(n-2)

?

count = 0 # 初始賦值0,全局變量

print(fib(5))? # 5

print(count)?? # 15

?

全局變量是什么東西?黑貓警長(zhǎng)(1984年的動(dòng)畫(huà)片)說(shuō):請(qǐng)看下節(jié)!


第八章 函數(shù)-4的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
景洪市| 历史| 南郑县| 隆子县| 泸定县| 松溪县| 娄底市| 凤庆县| 五莲县| 广饶县| 枣强县| 沁源县| 金乡县| 邯郸县| 霞浦县| 汾西县| 轮台县| 江油市| 满洲里市| 平乡县| 左云县| 当阳市| 余姚市| 怀安县| 赫章县| 华亭县| 西乌| 大同市| 阳朔县| 金华市| 鸡泽县| 卓尼县| 准格尔旗| 敦煌市| 哈巴河县| 汾阳市| 普安县| 壤塘县| 廉江市| 巩义市| 游戏|