官术网_书友最值得收藏!

2.6 案例精選

【例2-22】求50以內能被7整除,但不能同時被5整除的所有整數。

程序代碼如下:

將程序保存為ex2_22.py。

運行程序:

     python ex2_22.py

程序運行結果如下:

【例2-23】如果一個3位數各位數字的立方和等于該數自身,則該數稱為“水仙花數”。例如,153 = 13+53+33,所以153是一個水仙花數。求100~1000所有“水仙花數”。

程序代碼如下:

將程序保存為ex2_23.py。

運行程序:

     python ex2_23.py

程序運行結果如下:

【例2-24】設有一份某地連續10年6月1日的氣溫記錄,其數據為(℃)31、30、33、31、28、32、29、33、35、31,試計算其平均氣溫。

程序代碼如下:

將程序保存為ex2_24.py。

運行程序:

     python ex2_24.py

程序運行結果如下:

     31

【例2-25】雞兔同籠問題。雞和兔在一個籠子里,從上面數,有35個頭;從下面數,有94只腳。問籠中雞和兔各有多少只?

設籠中有x只雞,有y只兔,則:

     x + y = 35
     2x + 4y = 94

程序代碼如下:

將程序保存為ex2_25.py。

運行程序:

     python ex2_25.py

程序的運行結果如下:

兔子有12只,雞有23只

【例2-26】百錢買百雞問題。公雞5文錢一只,母雞3文錢一只,小雞3只一文錢,用100文錢買100只雞,如何買?

設公雞x只,母雞y只,小雞z只,則:

     x + y + z = 100
     5x + 3y + z/3 =100

程序代碼如下:

將程序保存為ex2_26.py。

運行程序:

     python ex2_26.py

程序運行結果如下:

【例2-27】老漢賣西瓜,第一天賣西瓜總數的一半多一個,第二天賣剩下的一半多一個,以后每天都是賣前一天剩下的一半多一個,到第10天只剩下一個。求西瓜總數是多少?

算法分析:設共有x個西瓜,賣一半多一個后,還剩下x/2 - 1個,所以,每天的西瓜數可以用迭代表示: xn=(xn+1+1) * 2。且在賣了9天之后(第10天),x = 1。這是可以用循環來處理的迭代問題。

程序代碼如下:

將程序保存為ex2_12.py。

運行程序:

     python ex2_12.py

程序運行結果如下:

     西瓜總數:x = 1534

【例2-28】for循環語句的應用示例:

(1)使用序列迭代法,顯示列表['xyz', 'book', 'hello']。

(2)使用序列索引迭代法,顯示列表['c++', 'java', 'python']。

(3)使用數字迭代法,顯示5個數字。

將程序保存為ex2_28.py。

運行程序:

     python ex2_28.py

程序的運行結果如下:

【例2-29】編寫計算n!的函數。

n!是以遞歸形式定義的:

計算n!,應先計算(n - 1)!,而計算(n - 1)!,以需要先計算(n - 2)!……依次遞推,直到最后變成計算1!的問題。

根據公式,1! = 1,這是本問題的遞歸終止條件。由終止條件得到1!的結果后,再反過來依次計算出2!,3!,…,n!。

設計算n!的函數為fun(n),當n>1時,fun(n) = n * fun(n-1)。即在fun(n)函數體內將遞歸調用fun()自身。

程序代碼如下:

將程序保存為ex2_29.py。

運行程序:

     python ex2_29.py

程序運行結果如下:

【例2-30】編寫函數,從鍵盤輸入參數n,計算斐波那契數列中第一個大于n的項。

斐波那契數列為1,1,2,3,5,8,13,…。從第3項開始,每一項是前二項之和。

編寫程序代碼如下:

將程序保存為ex2_30.py。

運行程序:

     python ex2_30.py

程序運行結果如下:

【例2-31】應用隨機函數random()模擬微信發紅包。

使用隨機函數random()需要引用random模塊。

程序代碼如下:

將程序保存為ex2_31.py。

運行程序:

     python ex2_31.py

程序運行結果如下:

主站蜘蛛池模板: 金湖县| 哈巴河县| 民勤县| 泽库县| 玉屏| 微山县| 瓮安县| 兴山县| 额敏县| 静海县| 南川市| 衡阳县| 文昌市| 东山县| 烟台市| 武川县| 柳江县| 庄浪县| 安达市| 阿克| 资阳市| 东港市| 铜川市| 荥阳市| 东台市| 五寨县| 祁连县| 祁东县| 南平市| 嘉荫县| 聂荣县| 海南省| 镶黄旗| 潮州市| 昔阳县| 扬州市| 辽中县| 通山县| 象州县| 桃园县| 江达县|