Python經(jīng)典五人分魚(yú)實(shí)例講解
A、B、C、D、E 五人在某天夜里合伙去捕魚(yú),到第二天凌晨時(shí)都疲憊不堪,于是各自找地方睡覺(jué)。
日上三桿,A 第一個(gè)醒來(lái),他將魚(yú)分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。
B 第二個(gè)醒來(lái),也將魚(yú)分為五份,把多余的一條魚(yú)扔掉拿走自己的一份。 。
C、D、E依次醒來(lái),也按同樣的方法拿魚(yú)。
問(wèn)他們至少捕了多少條魚(yú)?
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}條魚(yú)’) break fish += 1if __name__ == ’__main__’: main()
實(shí)例擴(kuò)展:
#Python3 實(shí)例--Python 五人分魚(yú)print('Python3 實(shí)例--Python 五人分魚(yú)')#原則:’’’日上三桿,A 第一個(gè)醒來(lái),他將魚(yú)分為五份,把多余的一條魚(yú)扔掉,拿走自己的一份。B 第二個(gè)醒來(lái),也將魚(yú)分為五份,把多余的一條魚(yú)扔掉拿走自己的一份。 。C、D、E依次醒來(lái),也按同樣的方法拿魚(yú)。問(wèn)他們臺(tái)伙至少捕了多少條魚(yú)?(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: #默認(rèn)魚(yú)的數(shù)量是夠分的,enough = True total, enough = fish, True #循環(huán)步驟:每一個(gè)人都按照相同的原則分魚(yú) for _ in range(5): #'_'符號(hào)在循環(huán)中不會(huì)用到,起的是循環(huán)次數(shù)的作用,可以看作和i,j是等效的 #如果正好夠5個(gè)人分,不需要扔掉一條 if (total - 1) % 5 == 0:#除了第一個(gè)人,剩下的魚(yú)的總數(shù)為:(total - 1) // 5 * 4,# 但是此時(shí)流程還沒(méi)有走完,還未計(jì)算魚(yú)的總數(shù)total = (total - 1) // 5 * 4 #如果不夠一個(gè)人分,enough = False, # 說(shuō)明魚(yú)的數(shù)量不是最少的,還需要每一個(gè)重復(fù)步驟上加一條,跳出循環(huán) else:enough = Falsebreak #判斷魚(yú)是不是夠分,而且魚(yú)的總數(shù)取的是最小值 if enough: #若是,輸出魚(yú)的總數(shù),結(jié)束程序 print(f’總共有{fish}條魚(yú)’) break #魚(yú)的數(shù)量循環(huán)加1 fish += 1main()
到此這篇關(guān)于Python經(jīng)典五人分魚(yú)實(shí)例講解的文章就介紹到這了,更多相關(guān)Python 五人分魚(yú)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟2. IntelliJ IDEA導(dǎo)入jar包的方法3. SSM框架JSP使用Layui實(shí)現(xiàn)layer彈出層效果4. 刪除docker里建立容器的操作方法5. IntelliJ IDEA導(dǎo)出項(xiàng)目的方法6. 基于android studio的layout的xml文件的創(chuàng)建方式7. Python產(chǎn)生batch數(shù)據(jù)的操作8. Java導(dǎo)出Execl疑難點(diǎn)處理的實(shí)現(xiàn)9. 淺談定義一個(gè)PHP函數(shù)10. IDEA創(chuàng)建SpringBoot的maven項(xiàng)目的方法步驟
