Python經(jīng)典五人分魚實例講解
A、B、C、D、E 五人在某天夜里合伙去捕魚,到第二天凌晨時都疲憊不堪,于是各自找地方睡覺。
日上三桿,A 第一個醒來,他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。
B 第二個醒來,也將魚分為五份,把多余的一條魚扔掉拿走自己的一份。 。
C、D、E依次醒來,也按同樣的方法拿魚。
問他們至少捕了多少條魚?
def main(): fish = 1 while True: total, enough = fish, True for _ in range(5): if (total - 1) % 5 == 0: total = (total - 1) // 5 * 4 else: enough = False break if enough: print(f'總共有{fish}條魚') break fish += 1 if __name__ == '__main__': main()
實例擴展:
#Python3 實例--Python 五人分魚 print("Python3 實例--Python 五人分魚") #原則: '''日上三桿,A 第一個醒來,他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。 B 第二個醒來,也將魚分為五份,把多余的一條魚扔掉拿走自己的一份。 。 C、D、E依次醒來,也按同樣的方法拿魚。 問他們臺伙至少捕了多少條魚?(x) A:(x-1)/5 B:(x-((x-1)/5)-1)/5 C:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5 D:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1) E:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-((x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5)-1))-1) ''' def main(): fish = 1 while True: #默認魚的數(shù)量是夠分的,enough = True total, enough = fish, True #循環(huán)步驟:每一個人都按照相同的原則分魚 for _ in range(5): #"_"符號在循環(huán)中不會用到,起的是循環(huán)次數(shù)的作用,可以看作和i,j是等效的 #如果正好夠5個人分,不需要扔掉一條 if (total - 1) % 5 == 0: #除了第一個人,剩下的魚的總數(shù)為:(total - 1) // 5 * 4, # 但是此時流程還沒有走完,還未計算魚的總數(shù) total = (total - 1) // 5 * 4 #如果不夠一個人分,enough = False, # 說明魚的數(shù)量不是最少的,還需要每一個重復步驟上加一條,跳出循環(huán) else: enough = False break #判斷魚是不是夠分,而且魚的總數(shù)取的是最小值 if enough: #若是,輸出魚的總數(shù),結束程序 print(f'總共有{fish}條魚') break #魚的數(shù)量循環(huán)加1 fish += 1 main()
到此這篇關于Python經(jīng)典五人分魚實例講解的文章就介紹到這了,更多相關Python 五人分魚內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用爬蟲爬取靜態(tài)網(wǎng)頁圖片的方法詳解
這篇文章主要介紹了Python使用爬蟲爬取靜態(tài)網(wǎng)頁圖片的方法,較為詳細的說明了爬蟲的原理,并結合實例形式分析了Python使用爬蟲來爬取靜態(tài)網(wǎng)頁圖片的相關操作技巧,需要的朋友可以參考下2018-06-06python利用pyttsx3 API實現(xiàn)文本轉語音處理
這篇文章主要為大家詳細介紹了Python如何利用pyttsx3 API實現(xiàn)文本轉語音處理,文中有詳細的示例代碼,感興趣的小伙伴可以跟隨小編一起學習一下2023-06-06Python?PaddleGAN實現(xiàn)調(diào)整照片人物年齡
這篇文章主要介紹了通過PaddleGAN實現(xiàn)照片人物的老年化和年輕化處理,文中的示例代碼講解有效,對我們學習或工作有一定的幫助,感興趣的可以學習一下2021-12-12用Python和MD5實現(xiàn)網(wǎng)站掛馬檢測程序
系統(tǒng)管理員通常從svn/git中檢索代碼,部署站點后通常首先會生成該站點所有文件的MD5值,如果上線后網(wǎng)站頁面內(nèi)容被篡改(如掛馬)等,可以比對之前生成MD5值快速查找去那些文件被更改,為了使系統(tǒng)管理員第一時間發(fā)現(xiàn),可結合crontab或nagios等工具2014-03-03