今天學習操作實例:天天向上的力量。分成四個階段逐步實踐:天天向上(基礎版)、天天向上(升級版)、天天向上(PK版)、天天向上(PK版升級)。
一、天天向上(基礎版)
1%的力量,每天成長1%,一年成長多少倍;每天減少1%,一年還剩多少?
- 代碼實現:
<code>#天天向上的力量(基礎版)
dayup = pow(1.01,365)
daydown = pow(0.99,365)
print("每天提升1%,一年提升至""{:.2f}"";每天退步1%,一年退步至""{:.2f}".format(dayup,daydown))/<code>
- 結果還是超出想象的
二、天天向上(勞逸結合版)
如果每個工作日努力工作,進步1%,每週末娛樂,退步1%,一年能進步多少呢?
- 分析:
首先判斷工作日和休息日,根據工作日休息日的不同採用不同的計算方式。
工作日休日的判斷——根據每週7天判斷,365天除以7,餘數在1-5說明是工作日;餘數6或者0,說明是休息日。
- 代碼實現:
<code>#天天向上的力量(勞逸結合版)
dayup = 1
for i in range(365):
a = i%7
if a in [0,6]:
dayup = dayup*0.99
else:
dayup=dayup*1.01
print("工作日提升1%,休息日退步1%,則全年提升至""{:.2f}".format(dayup))/<code>
- 結果如下:(與休息日堅持成長差距還是很大的呀)
三、天天向上(PK版)
小白每天努力成長1%(不休息);老白只在工作日工作,休息日娛樂為主下降1%,那麼老白工作日需要多努力呢?需要成長多少?
- 分析:
小白:每天成長1%,全面最終達到37.78。
老白工作日怎麼樣努力才能彌補休息日的退步,併到達37.78呢?
- 代碼實現:
<code>#天天向上的力量(PK版)
def dayuplao(xishulao):
dayuplao = 1
for i in range(365):
a = i % 7
if a in [0, 6]:
dayuplao = dayuplao * 0.99
else:
dayuplao = dayuplao * (1+xishulao)
return dayuplao
dayupxiao = pow(1.01,365)
xishulao = 0.01
while dayuplao(xishulao) < dayupxiao:
xishulao = xishulao+0.001
print("老白工作日需要提升""{:.2f}%"",休息日退步1%,全年才能趕上小白成長".format(xishulao*100))/<code>
- 得到結果:
四、天天向上(PK版升級)
如果小白每天努力成長2%、3%、5%的話,老白該怎麼努力呢?
- 實現如下:
<code>#天天向上的力量(PK版升級)
def dayuplao(xishulao):
dayuplao = 1
for i in range(365):
a = i % 7
if a in [0, 6]:
dayuplao = dayuplao * 0.99
else:
dayuplao = dayuplao * (1+xishulao)
return dayuplao
xishuxiao=eval(input("請輸入小白每天成長係數(%):")[0:-1])
dayupxiao = pow(1+xishuxiao/100,365)
xishulao = 0.01
while dayuplao(xishulao) < dayupxiao:
xishulao = xishulao+0.001
print("如果小白每天成長""{:.2f}""%,則老白工作日須要提升""{:.2f}%"",休息日退步1%,全年才能趕上小白成長".format(xishuxiao,xishulao*100))/<code>
- 結果如下:
小白每天成長2%
小白每天成長3%
小白每天成長5%
最近小有難度,慢慢學習總結!
閱讀更多 騎豬的小猴子 的文章