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 = Falsebreak if enough: print(f’總共有{fish}條魚’) break fish += 1if __name__ == ’__main__’: main()
實例擴展:
#Python3 實例--Python 五人分魚print('Python3 實例--Python 五人分魚')#原則:’’’日上三桿,A 第一個醒來,他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。B 第二個醒來,也將魚分為五份,把多余的一條魚扔掉拿走自己的一份。 。C、D、E依次醒來,也按同樣的方法拿魚。問他們臺伙至少捕了多少條魚?(x)A:(x-1)/5B:(x-((x-1)/5)-1)/5C:(x-((x-1)/5)-((x-((x-1)/5)-1)/5)-1)/5D:(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ù)量不是最少的,還需要每一個重復(fù)步驟上加一條,跳出循環(huán) else:enough = Falsebreak #判斷魚是不是夠分,而且魚的總數(shù)取的是最小值 if enough: #若是,輸出魚的總數(shù),結(jié)束程序 print(f’總共有{fish}條魚’) break #魚的數(shù)量循環(huán)加1 fish += 1main()
到此這篇關(guān)于Python經(jīng)典五人分魚實例講解的文章就介紹到這了,更多相關(guān)Python 五人分魚內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP常用日期格式化函數(shù) FormatDate()2. XML入門的常見問題(二)3. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進)4. jsp實現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫的方法5. 如何在jsp界面中插入圖片6. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)7. 得到XML文檔大小的方法8. JavaScrip簡單數(shù)據(jù)類型隱式轉(zhuǎn)換的實現(xiàn)9. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法10. ASP.NET Core實現(xiàn)中間件的幾種方式
