最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python小球落地問題及解決(遞歸函數(shù))

 更新時(shí)間:2022年05月18日 09:33:23   作者:菠蘿魷  
這篇文章主要介紹了python小球落地問題及解決(遞歸函數(shù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問題

一個(gè)球從 100 米高的自由落下,每次落地后反跳回原高度的一半。求第10次彈起的高度與途徑的總路程

什么是遞歸函數(shù)

函數(shù)的遞歸調(diào)用是函數(shù)嵌套調(diào)用的一種特殊形式,在調(diào)用一個(gè)函數(shù)的過程中又直接或者間接地調(diào)用該函數(shù)本身,稱之為函數(shù)的遞歸調(diào)用

遞歸死循環(huán)是沒有意義的

遞歸調(diào)用必須有兩個(gè)明確的階段:

1. 回溯: 一次次遞歸調(diào)用下去,說白了就一個(gè)重復(fù)的過程,

  • 但需要注意的是每一次重復(fù)問題的規(guī)模都應(yīng)該有所減少,
  • 直到逼近一個(gè)最終的結(jié)果,即回溯階段一定要有一個(gè)明確的結(jié)束條件

2. 遞推: 往回一層一層推算出結(jié)果

例子

假設(shè)有5個(gè)人,第五個(gè)人的年齡是第四個(gè)年齡+,以此類推

'''
age(5) = age(4) + 2
age(4) = age(3) + 2
age(3) = age(2) + 2
age(2) = age(1) + 2
age(1) = 18
'''

我們可以將第幾個(gè)人定義成n,然后形成一個(gè)數(shù)學(xué)格式:

age(n) = age(n-1) + 2 ? ? # n>1
age(n) = 18 ? ? ? ? ? ? ? # n=1

這時(shí)候只需要?jiǎng)?chuàng)建函數(shù),把這兩塊寫入,即可完成遞歸函數(shù)的創(chuàng)建:

def age(n):
? ? if n == 1:
? ? ? ? return 18
? ? if n > 1:
? ? ? ? return age(n-1) + 2
print(age(5))

小球落地解題思路

首先我們需要注意三個(gè)點(diǎn)

1、小球從100米高度落下,所以小球在第一次彈起的過程中就已經(jīng)行走了100m

2、小球最后一次彈起并沒有下落

3、每次彈起的高度需要*2才是此次彈起的距離

far = [100]
def jump(n):?? ??
?? ?if n == 1:
?? ??? ?far.append(100)
?? ??? ?return 50
?? ?else:
?? ??? ?b = jump(n-1) / 2
?? ??? ?far.append(b*2)?? ?
?? ??? ?return b
print(jump(10))
print(far)
print(sum(far)-jump(10))

python遞歸函數(shù)介紹

1、代碼

def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)
print([fibonacci(x) for x in range(10)])

2、運(yùn)行截圖

在這里插入圖片描述

3、補(bǔ)充說明

【1】遞歸必須有終止條件

【2】遞歸的規(guī)模要比上次的小

【3】遞歸的效率很低,可以通過程序調(diào)試看出,進(jìn)去是幾層出來又得幾層,使得存儲(chǔ)空間變大。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳細(xì)介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法

    詳細(xì)介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法

    這篇文章主要介紹了詳細(xì)介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • flask post獲取前端請(qǐng)求參數(shù)的三種方式總結(jié)

    flask post獲取前端請(qǐng)求參數(shù)的三種方式總結(jié)

    這篇文章主要介紹了flask post獲取前端請(qǐng)求參數(shù)的三種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Flask框架的學(xué)習(xí)指南之用戶登錄管理

    Flask框架的學(xué)習(xí)指南之用戶登錄管理

    本文是Flask框架的學(xué)習(xí)指南系列文章的第三篇,主要給大家講述的是制作flask的登陸管理模塊,有需要的小伙伴可以參考下
    2016-11-11
  • python中filter函數(shù)的用法示例代碼

    python中filter函數(shù)的用法示例代碼

    filter() 函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回一個(gè)迭代器對(duì)象,如果要轉(zhuǎn)換為列表,可以使用 list() 來轉(zhuǎn)換,這篇文章主要介紹了python中filter函數(shù)的用法,需要的朋友可以參考下
    2022-12-12
  • 詳解如何使用OpenCV和像素處理圖像灰度化

    詳解如何使用OpenCV和像素處理圖像灰度化

    這篇文章主要為大家介紹了如何使用OpenCV和像素處理圖像灰度化的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Python語言開發(fā)高并發(fā)爬蟲示例探討

    Python語言開發(fā)高并發(fā)爬蟲示例探討

    這篇文章主要為大家介紹了Python語言開發(fā)高并發(fā)爬蟲示例探討,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Python讀寫yaml文件

    Python讀寫yaml文件

    這篇文章主要介紹了Python讀寫yaml文件,yaml?是專門用來寫配置文件的語言,非常簡(jiǎn)潔和強(qiáng)大,之前用ini也能寫配置文件,有點(diǎn)類似于json格式,下面關(guān)于Python讀寫yaml文件的詳細(xì)資料,需要的小伙伴可以參考一下
    2022-03-03
  • Python?超簡(jiǎn)潔且詳細(xì)爬取西瓜視頻案例

    Python?超簡(jiǎn)潔且詳細(xì)爬取西瓜視頻案例

    今天給大家?guī)硪黄廊∥鞴弦曨l的小教程,很簡(jiǎn)單的幾十行代碼就可以實(shí)現(xiàn)了,每一段代碼都詳細(xì)說明了用途,看完你就能夠自己動(dòng)手寫,感興趣的同學(xué)快來跟著小編往下看吧
    2021-11-11
  • python中把元組轉(zhuǎn)換為namedtuple方法

    python中把元組轉(zhuǎn)換為namedtuple方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中把元組轉(zhuǎn)換為namedtuple方法,有興趣的朋友們可以參考下。
    2020-12-12
  • Python編程入門的一些基本知識(shí)

    Python編程入門的一些基本知識(shí)

    這篇文章主要介紹了Python編程入門的一些基本知識(shí),包括注釋需和Shell命令使用等基本內(nèi)容,要的朋友可以參考下
    2015-05-05

最新評(píng)論

颍上县| 陈巴尔虎旗| 安西县| 湟源县| 淮南市| 濮阳县| 马关县| 鹿泉市| 北海市| 大理市| 玛沁县| 太仓市| 乡宁县| 正镶白旗| 简阳市| 嘉善县| 崇礼县| 肇源县| 宿迁市| 泗阳县| 永胜县| 出国| 枣强县| 斗六市| 陆川县| 兴业县| 巴彦淖尔市| 新邵县| 襄樊市| 景德镇市| 合肥市| 太湖县| 施甸县| 肃南| 西贡区| 共和县| 南溪县| 酒泉市| 文成县| 汉中市| 津南区|