999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python求解“雞兔同籠”升級版

2020-01-13 09:46:29牟曉東
電腦報 2020年46期
關(guān)鍵詞:程序用戶

牟曉東

“雞兔同籠”趣題最早記載于1500多年前的中國古代數(shù)學(xué)著作《孫子算經(jīng)》中的“卷下”第31題(后傳至日本演變?yōu)椤苞Q龜算”),原題為:“今有雉兔同籠,上有三十五頭,下有九十四足,問雉兔各幾何?”意思是“雞和兔的總頭數(shù)是35,總腳數(shù)是94,雞和兔各有幾只?”。

1.問題求解

假設(shè)雞有x只,兔有y只,根據(jù)題意列方程為:

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

求解,得:x=23,y=12;即雞有23只(46只腳)、兔有12只(48只腳)。

2.Python編程求解

如果使用Python語言來編寫程序的話,可使用for循環(huán)、range()函數(shù)和if條件判斷來完成。先使用“heads = 35”和“feet = 94”兩個賦值語句,保存雞和兔的總頭數(shù)和總腳數(shù);接著使用range()函數(shù)進(jìn)行for循環(huán),讓雞的數(shù)目從1開始計數(shù)加1循環(huán),循環(huán)體中的if條件為“2*x + 4*y == feet”,即“雞數(shù)目的兩倍加兔數(shù)目的四倍之和等于總腳數(shù)”,條件成立的話,使用print語句進(jìn)行最終雞兔數(shù)目的輸出。保存程序為“雞兔同籠1.py”,運行結(jié)果顯示為“雞有 23 只,兔有 12 只。”(如圖1)。

3.升級版的“雞兔同籠”

考慮到“雞兔同籠”原題中所給出的總頭數(shù)和總腳數(shù)是固定的35和94,因此最終的求解也是固定的“23只雞、12只兔”。如果將題目進(jìn)行“升級”,雞和兔的總頭數(shù)與總腳數(shù)均由用戶從鍵盤輸入,仍然來求雞和兔的數(shù)目,應(yīng)該如何編寫程序代碼呢?

首先使用標(biāo)準(zhǔn)輸入函數(shù)input來接收用戶從鍵盤上輸入的信息,比如“heads = input('請輸入雞和兔的總頭數(shù):')”和“feet = input('請輸入雞和兔的總腳數(shù):')”。但在此需要特別注意的是,Python的input函數(shù)接收到的輸入數(shù)據(jù)是str字符串(雖然表面上看是數(shù)字),必須要使用int來轉(zhuǎn)換成整數(shù)型才能進(jìn)行數(shù)學(xué)運算,語句為“heads = int(heads)”和“feet = int(feet)”。

接下來仍然是使用range()函數(shù)進(jìn)行for循環(huán):“for x in range(0,(heads+1))”。此時要充分考慮到用戶所輸入數(shù)據(jù)的計算結(jié)果,很有可能會出現(xiàn)“只有雞”或“只有兔”的情況。舉例:用戶輸入的總頭數(shù)是10、總腳數(shù)是20,運算結(jié)果就應(yīng)該是“10只雞、0只兔”;或輸入總頭數(shù)是10、總腳數(shù)是40,運算結(jié)果則是“0只雞、10只兔”。因為在計算機(jī)編程語言中,數(shù)字0總是被看作是最起始的值,Python的列表、字符串和元組等的元素均是從0開始進(jìn)行索引的。不管是“0只雞”還是“0只兔”,在計算機(jī)看來,這都是“雞兔同籠”,只不過數(shù)目是0而已。另外,由于range()函數(shù)的兩個參數(shù)是“左閉右開”型的區(qū)間,即第一個參數(shù)是被計算在內(nèi),而第二個參數(shù)卻是不包括在內(nèi)的(只計算到它的前一個元素);所以,第二個參數(shù)應(yīng)該設(shè)置為“heads+1”,這樣就能在循環(huán)時計算到它的前一個元素(即“heads”),也就是“0只兔”的情況(“x=0”則是“0只雞”)(如圖2)。

循環(huán)體與之前類似,仍然是if條件判斷“2*x + 4*y == feet”是否成立,成立的話則使用print輸出結(jié)果,然后使用break語句跳出循環(huán)。因為不確定用戶從鍵盤上輸入的兩個數(shù)據(jù)是否恰好為“有效解”——雞和兔的數(shù)目必須是整數(shù)只,所以在循環(huán)體外應(yīng)該再添加一個“if 2*x + 4*y != feet”判斷語句,將這種無法進(jìn)行整數(shù)結(jié)果計算的情況進(jìn)行提示:“輸入的總頭數(shù)和總腳數(shù)不合法”。沒有該print語句的話,程序也能正常運行,但對于這種“意外”沒有任何提示,程序缺少必要的友好性(如圖3)。

最后將程序保存為“雞兔同籠2.py”,運行幾次進(jìn)行測試,輸入的總頭數(shù)和總腳數(shù)包括原題目中的“35、94”、雞兔各為0只、“30、110”四種合法數(shù)值,程序均輸出了正確的計算結(jié)果;最后一個測試輸入“8、100”,結(jié)果就提示“輸入的總頭數(shù)和總腳數(shù)不合法”(如圖4)。

猜你喜歡
程序用戶
試論我國未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 精品视频91| 国产精品第页| 国产情侣一区二区三区| 片在线无码观看| 91国内在线观看| 青草娱乐极品免费视频| 黄色不卡视频| 国产免费a级片| 亚洲国产成人综合精品2020 | 在线视频一区二区三区不卡| 国产爽爽视频| 高清欧美性猛交XXXX黑人猛交 | 亚洲一区二区三区在线视频| 9久久伊人精品综合| 妇女自拍偷自拍亚洲精品| 亚洲中文字幕手机在线第一页| 国产内射在线观看| 女人爽到高潮免费视频大全| 亚洲欧美综合在线观看| 亚洲性视频网站| 精品国产污污免费网站| 久久久久久久久18禁秘| 蜜桃臀无码内射一区二区三区| 午夜日b视频| 国产永久在线视频| 精品一区二区三区四区五区| 国产美女一级毛片| 国产AV毛片| 成年人福利视频| jijzzizz老师出水喷水喷出| 亚洲AV免费一区二区三区| 日本高清成本人视频一区| 亚洲综合中文字幕国产精品欧美| 国产麻豆va精品视频| 欧美97欧美综合色伦图| 亚洲成人高清无码| 婷婷激情亚洲| 久久国产精品嫖妓| 亚洲欧美在线综合图区| 亚洲大尺码专区影院| 亚洲女同一区二区| 国产精品lululu在线观看| 亚洲天堂在线免费| 国产91高跟丝袜| 色网在线视频| 毛片在线区| 欧美亚洲国产日韩电影在线| 青青青国产视频手机| 亚洲无码视频一区二区三区| 日本成人不卡视频| 中日韩欧亚无码视频| 中文字幕色在线| 亚洲欧美另类专区| 亚洲综合欧美在线一区在线播放| 欧美亚洲欧美| 久久亚洲中文字幕精品一区| 国产成人91精品| 中文字幕亚洲无线码一区女同| 亚洲免费福利视频| 日韩成人在线一区二区| 国产成人午夜福利免费无码r| 88国产经典欧美一区二区三区| 依依成人精品无v国产| 呦系列视频一区二区三区| 亚洲人在线| 欧美在线一二区| 99热这里只有免费国产精品| 特级毛片免费视频| 国产精品女主播| 国产福利大秀91| 国产免费高清无需播放器| 亚洲日本中文字幕乱码中文| 88av在线看| 小说区 亚洲 自拍 另类| 国产真实乱人视频| vvvv98国产成人综合青青| 91精品久久久无码中文字幕vr| 亚洲最新地址| 中文字幕在线观看日本| 婷婷六月在线| 国产在线精品美女观看| 欧美黄色网站在线看|