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

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

Python編程算法【十五】 分糖果

2022-10-06 13:28 作者:SPC編程愛好者  | 我要投稿

【案例內(nèi)容】

10個小朋友圍成一圈分糖果,老師分給第1個小朋友10塊糖果,第2個小朋友2塊糖果,第2個小朋友8塊,第4個小朋友22塊,第5個小朋友16塊,第6個小朋友4塊,第7個小朋友10塊,第8個小朋友6塊,第9個小朋友14塊,第10個小朋友20塊。然后所有小朋友同時將手中的糖果分一半給右邊的小朋友,如果糖果數(shù)為奇數(shù)的小朋友,可以找老師要一塊。請問,經(jīng)過這樣操作幾次后,大家的糖果數(shù)一樣多?每個人各有多少塊糖果?


【解題思路】

用一列表存儲10個小朋友的糖果數(shù),如 candies = [10, 2, 8, 22, 16, 4, 10, 6, 14, 20],接著判斷其中是否存在奇數(shù)的糖果數(shù),若有則將其+1,也就是題目中“找老師要一塊”。若沒有,則可使用列表推導式,快速獲得取半后的新列表。根據(jù)題意,第1個小朋友把自己的一半交給第2個小朋友,以此同時,第2個小朋友也把自己的一半交給第3個小朋友,按此操作,直到第10個小朋友把自己的一半交給第1個小朋友。需注意的是,每個小朋友要先把自己手中一半的糖果交給下一位,再獲取上一位小朋友的糖果。使用循環(huán)反復操作后,最終每個小朋友的糖果數(shù)一樣多即停止,并得出循環(huán)的次數(shù),以及每個小朋友最終的糖果數(shù)。


【Python代碼】

分別使用3個函數(shù),處理相應(yīng)的步驟
經(jīng)過17次分配后,每個人的糖果數(shù)都是18個

在編程過程中,如果邏輯結(jié)構(gòu)比較多,可以考慮采用函數(shù)來解決,避免將所有代碼都雜糅在一起,不方便查看和分析。本題用1個函數(shù)專門處理糖果為奇數(shù)的過程;用1個函數(shù)專門處理將自己糖果數(shù)一半分出去,并加上前一位傳過來的糖果數(shù),此時可先處理第10個小朋友傳給第1個小朋友的糖果數(shù),再用循環(huán)處理后面9位小朋友的糖果數(shù)。最后再用1個函數(shù)專門判斷列表中的數(shù)值是否相等,即糖果數(shù)是否一樣,返回值是True或False。主程序中,設(shè)置變量n,記錄次數(shù),通過while循環(huán)進行累加,直到最終糖果數(shù)一樣時,得出n的值,此時candies列表中的每個數(shù)值也都相等。


Python編程算法【十五】 分糖果的評論 (共 條)

分享到微博請遵守國家法律
镇雄县| 延长县| 丰县| 新建县| 丘北县| 清苑县| 绥芬河市| 桑日县| 邵阳县| 博爱县| 万载县| 钟祥市| 柞水县| 隆尧县| 铜梁县| 六安市| 林甸县| 静安区| 洛宁县| 安新县| 江陵县| 清徐县| 扬州市| 白朗县| 正宁县| 隆化县| 泉州市| 句容市| 抚顺市| 松溪县| 佛山市| 衡阳县| 宁乡县| 岚皋县| 青阳县| 斗六市| 桃园县| 涞源县| 隆林| 来宾市| 平谷区|