大家好,我是我是Python進(jìn)階者。
前幾天在Python星耀群,【冫馬讠成】大佬問(wèn)了一個(gè)基礎的算法問(wèn)題,這里拿出來(lái)給大家分享下。

這里給大家分享三個(gè)思路,覺(jué)得還挺不錯的,分享給大家,一起學(xué)習學(xué)習。
這個(gè)方法來(lái)自【冫馬讠成】大佬分享的思路和代碼,如下所示:
y = 1
while(True):
if y % 2== y % 4 == y % 8 and y % 3== 0 and y % 7 == 0 and y % 9 == 0 and y % 5 == 4 and y % 6 == 3:
print("籃子里總共有雞蛋: %s(個(gè))"%y)
break
y += 1

雖然挨個(gè)進(jìn)行取值確實(shí)慢了一些,不過(guò)也確實(shí)可以實(shí)現,下面給大家介紹的兩個(gè)方法在這個(gè)方法上做了算法優(yōu)化,一起來(lái)看看吧!
這個(gè)方法來(lái)自【數據分析新手-瑜亮】大佬分享的思路和代碼,如下所示:
a = 9
while True:
if a%5 == 4 and a%7 == 0 and a%8 == 1 and a%9 == 0:
print(a)
break
a += 9

這個(gè)方法自增9,比方法一的小米加步槍確實(shí)要快一些,方法優(yōu)化了。不慌,下面來(lái)個(gè)更快的。
這個(gè)思路來(lái)自【??(這是月亮的背面)】大佬,如下圖所示:

代碼簡(jiǎn)單修改下即可:
y = 63
while(True):
if y % 2== y % 4 == y % 8 and y % 3== 0 and y % 7 == 0 and y % 9 == 0 and y % 5 == 4 and y % 6 == 3:
print("籃子里總共有雞蛋: %s(個(gè))"%y)
break
y += 63
只需要注意一點(diǎn)即可,如下圖所示:

如此,完美的滿(mǎn)足了粉絲的需求。
大家好,我是Python進(jìn)階者。這篇文章基于粉絲提問(wèn),在實(shí)際工作中運用Python編程實(shí)現了求值問(wèn)題,在實(shí)現過(guò)程中,巧妙的運用了算法,依次優(yōu)化,順利的幫助粉絲解決了問(wèn)題,加深了對Python編程的認識。
最后感謝粉絲【冫馬讠成】提問(wèn),感謝【冫馬讠成】、【數據分析新手-瑜亮】、【??(這是月亮的背面)】大佬給予的思路和代碼支持,感謝粉絲【李欣悅】、【dcpeng】等人參與探討和學(xué)習。
文中針對該問(wèn)題,給出了三個(gè)方法,小編相信肯定還有其他的方法,歡迎大家積極嘗試。

------------------- End -------------------
聯(lián)系客服