亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python經(jīng)典100題之皮球掉落的幾種解法

 更新時(shí)間:2023年11月23日 14:49:41   作者:憂傷的玩不起  
這篇文章主要給大家介紹了關(guān)于python經(jīng)典100題之皮球掉落的幾種解法,這個(gè)問(wèn)題相信不少人都可以從網(wǎng)絡(luò)上找到相對(duì)應(yīng)的答案本文提供了3種解法,需要的朋友可以參考下

題目:

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

解法一:迭代法

算法思路:

  • 初始高度為100米,累計(jì)經(jīng)過(guò)的距離初始化為0。
  • 使用一個(gè)循環(huán)來(lái)模擬球的自由落地以及反彈的過(guò)程,重復(fù)10次。
  • 在每一次循環(huán)中,球落地后高度減半,距離增加落地距離和反彈距離(即兩倍的高度)。
  • 最后統(tǒng)計(jì)得到第10次落地時(shí)的累計(jì)距離和反彈高度。

優(yōu)點(diǎn):簡(jiǎn)單易懂,實(shí)現(xiàn)較為簡(jiǎn)單。
缺點(diǎn):需要進(jìn)行10次循環(huán)計(jì)算,效率較低。

Python代碼實(shí)現(xiàn):

height = 100
distance = 0

for _ in range(10):
    # 落地距離
    distance += height
    # 反彈高度
    height /= 2
    # 反彈距離
    distance += height

print("第10次落地時(shí),共經(jīng)過(guò) %.2f 米" % distance)
print("第10次反彈 %.2f 米" % height)

解法二:數(shù)學(xué)公式法

算法思路:

  • 第一次落地的距離為100米,第一次反彈的高度為50米。
  • 之后的每一次落地,反彈的高度都是上一次的一半,落地的距離是前一次落地距離的兩倍。
  • 根據(jù)這個(gè)規(guī)律,可以推導(dǎo)出第n次落地時(shí)的總距離和反彈高度的數(shù)學(xué)公式,并直接計(jì)算得到結(jié)果。

優(yōu)點(diǎn):不需要進(jìn)行循環(huán)迭代,簡(jiǎn)化了計(jì)算過(guò)程,效率較高。
缺點(diǎn):需要理解并推導(dǎo)出數(shù)學(xué)公式。

Python代碼實(shí)現(xiàn):

# 第10次落地時(shí)的總距離
distance = 100 * (1 - 2 ** 10) / (1 - 2)
# 第10次反彈的高度
height = 100 / (2 ** 10)

print("第10次落地時(shí),共經(jīng)過(guò) %.2f 米" % distance)
print("第10次反彈 %.2f 米" % height)

兩種算法的輸出結(jié)果相同:

第10次落地時(shí),共經(jīng)過(guò) 299.61 米
第10次反彈 0.10 米

解法三:遞歸法

算法思路:

  • 定義一個(gè)遞歸函數(shù),每次傳入球的高度和落地次數(shù)。
  • 遞歸的終止條件是落地次數(shù)達(dá)到10次,此時(shí)返回0。
  • 在每次遞歸中,先計(jì)算當(dāng)前落地的距離(傳入的高度乘以2),然后遞歸調(diào)用函數(shù)計(jì)算下一次的落地距離,并加上當(dāng)前落地的距離。
  • 在遞歸調(diào)用的過(guò)程中,每次調(diào)用高度都減半,表示反彈的高度。

優(yōu)點(diǎn):思路清晰,代碼簡(jiǎn)潔。
缺點(diǎn):遞歸過(guò)程中會(huì)進(jìn)行多次重復(fù)計(jì)算,效率較低。

Python代碼實(shí)現(xiàn):

def calculate_distance(height, count):
    if count == 0:
        return 0
    
    # 當(dāng)前落地的距離
    distance = height * 2
    # 下一次落地的距離,并累加到當(dāng)前落地的距離
    distance += calculate_distance(height / 2, count - 1)
    
    return distance

distance = calculate_distance(100, 10)
height = 100 / (2 ** 10)

print("第10次落地時(shí),共經(jīng)過(guò) %.2f 米" % distance)
print("第10次反彈 %.2f 米" % height)

輸出結(jié)果與前兩種方法相同:

第10次落地時(shí),共經(jīng)過(guò) 299.61 米
第10次反彈 0.10 米

總結(jié)

到此這篇關(guān)于python經(jīng)典100題之皮球掉落的文章就介紹到這了,更多相關(guān)python皮球掉落內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 跟老齊學(xué)Python之字典,你還記得嗎?

    跟老齊學(xué)Python之字典,你還記得嗎?

    在python中,也有一種數(shù)據(jù)與此相近,不僅相近,這種數(shù)據(jù)的名稱就叫做dictionary,翻譯過(guò)來(lái)是字典,類似于前面的int/str/list,這種類型數(shù)據(jù)名稱是:dict
    2014-09-09
  • python將三維數(shù)組展開(kāi)成二維數(shù)組的實(shí)現(xiàn)

    python將三維數(shù)組展開(kāi)成二維數(shù)組的實(shí)現(xiàn)

    今天小編就為大家分享一篇python將三維數(shù)組展開(kāi)成二維數(shù)組的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Golang GBK轉(zhuǎn)UTF-8的例子

    Golang GBK轉(zhuǎn)UTF-8的例子

    今天小編就為大家分享一篇Golang GBK轉(zhuǎn)UTF-8的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python偏函數(shù)的實(shí)例用法總結(jié)

    python偏函數(shù)的實(shí)例用法總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python偏函數(shù)的實(shí)例用法總結(jié)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-07-07
  • python break和continue用法對(duì)比

    python break和continue用法對(duì)比

    在本篇文章里小編給大家整理的是一篇關(guān)于python break和continue用法對(duì)比內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。
    2021-06-06
  • django虛擬環(huán)境(virtualenv)的創(chuàng)建

    django虛擬環(huán)境(virtualenv)的創(chuàng)建

    在使用django開(kāi)發(fā)項(xiàng)目的時(shí)候,一個(gè)環(huán)境只能對(duì)應(yīng)一個(gè)項(xiàng)目,若不安裝虛擬環(huán)境、都裝在系統(tǒng)里面,每次項(xiàng)目加載都需要加載所有的安裝包,本文就介紹django虛擬環(huán)境的安裝,感興趣的可以了解一下
    2021-08-08
  • Python腳本實(shí)現(xiàn)自動(dòng)發(fā)帶圖的微博

    Python腳本實(shí)現(xiàn)自動(dòng)發(fā)帶圖的微博

    這篇文章主要介紹了Python腳本實(shí)現(xiàn)自動(dòng)發(fā)帶圖的微博的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • 理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例

    理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例

    生產(chǎn)者消費(fèi)者模型一般用于體現(xiàn)程序的多線程并發(fā)性,Python的多線程雖然受到GIL控制,但依然可以構(gòu)建隊(duì)列來(lái)簡(jiǎn)單體現(xiàn)出模型的思路,這里我們就來(lái)共同理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例:
    2016-06-06
  • 使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù)實(shí)例詳解

    使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù)實(shí)例詳解

    這篇文章主要介紹了使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • python之信息加密題目詳解

    python之信息加密題目詳解

    這篇文章主要介紹了python之信息加密題目詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06

最新評(píng)論