真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python的遞歸函數(shù)怎么用-創(chuàng)新互聯(lián)

python的遞歸函數(shù)怎么用?這篇文章運用了實例代碼展示,代碼非常詳細,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計與策劃設(shè)計,息烽網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:息烽等地區(qū)。息烽做網(wǎng)站價格咨詢:13518219792

一個函數(shù)在函數(shù)體內(nèi)部調(diào)用自己,這樣的函數(shù)稱為遞歸函數(shù),遞歸的次數(shù)在python是有限制的,默認遞歸次數(shù)是997次,超過997次會報錯:RecursionError.

一.遞歸函數(shù)案例

案例一:計算數(shù)字N的階乘(舉個栗子:9的階乘 = 9*8*7*6*5*4*3*2*1)

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:何以解憂

@Blog(個人博客地址): shuopython.com

@WeChat Official Account(微信公眾號):猿說python

@Github:www.github.com

@File:python_digui.py

@Time:2019/10/30 21:25

@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

# 使用遞歸函數(shù)實現(xiàn)階乘

# 舉個例子,計算9的階乘:9! = 9*8*7*6*5*4*3*2*1 = 362880

deffunc(n):

    ifn==1:  # 結(jié)束條件:當 n == 1 結(jié)束遞歸調(diào)用

        return1

    else:

        returnn*func(n-1)

print(func(9))

# 使用for循環(huán)計算階乘

result=1

# i 取值: 9 8 7 6 5 4 3 2 1 不包括0

foriinrange(9,0,-1):

    result=result*i

print(result)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

輸出結(jié)果:

362880

362880

1

2

可能對于案例一,你會覺得好像所謂的遞歸也沒什么卵用的樣子,我用for循環(huán)也能實現(xiàn),那么我們繼續(xù)往下看案例二或者案例三。

案例二:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?

defheigthM(num,heigth,sum):

    sum+=heigth

    heigth/=2#第一次返回高度50

    print(heigth,sum)# 查看每次返回的高度和經(jīng)過多少米

    ifnum==1:

        returnheigth,sum

    else:

        sum+=heigth# 返回到高點時,經(jīng)過多少米需要加上高度

        returnheigthM(num-1,heigth,sum)

print("第10次的反彈高度和累計經(jīng)歷的米數(shù)分別是:",heigthM(10,100,0))#num是次數(shù),heigth是高度,sum是經(jīng)過多少米

1

2

3

4

5

6

7

8

9

10

輸出結(jié)果:

3.125287.5

1.5625293.75

0.78125296.875

0.390625298.4375

0.1953125299.21875

0.09765625299.609375

第10次的反彈高度和累計經(jīng)歷的米數(shù)分別是:(0.09765625,299.609375)

1

2

3

4

5

6

7

小竅門: 函數(shù)可以同時返回多個值,以元組的形式返回。

案例三:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少?

defmonkey(n):

    ifn==1:

        return1

    else:

        return(monkey(n-1)+1)*2

print(monkey(10))

1

2

3

4

5

6

計算結(jié)果:1534

二.遞歸函數(shù)使用需要注意的問題

1.一定要有結(jié)束條件

2.默認遞歸次數(shù)是997次,超過997次會報錯:RecursionError.

 關(guān)于python的遞歸函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁標題:python的遞歸函數(shù)怎么用-創(chuàng)新互聯(lián)
URL地址:http://weahome.cn/article/jgisd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部