1. 程式人生 > 其它 >python pow和**_Python學習筆記 | 例項3:天天向上的力量

python pow和**_Python學習筆記 | 例項3:天天向上的力量

技術標籤:python pow和**

2461850009fbe3aed5b9e41ba4b8fc11.png

本文為中國大學MOOC《Python語言程式設計》課程學習筆記,課程主講:嵩天老師,練習平臺:Python123,參考教材:《Python語言程式設計基礎》

天天向上的力量

加了與使用者的互動,使用者自己輸入每天進步和下降的引數值dayfactor

dayfactor = eval(input("請輸入每天變數的值:"))
dayup = pow((1+dayfactor),365)
daydown= pow(1-dayfactor,365)
print("天天向上:{},天天向下:{}".format(dayup,daydown))

1%,天天向上:37.78343433288728,天天向下:0.025517964452291125

1‰,天天向上:1.4402513134295205,天天向下:0.6940698870404745

5‰,天天向上:6.174652783431007,天天向下:0.16048131420416056

每天進步1%,一年進步37.78倍!

工作日的力量

現在假設:工作日進步1%,週末退步1%

dayup = 1
dayfactor = 0.01
for i in range(365):
    if i%7 in (0,6):
       dayup = dayup*(1-dayfactor)
    else:
        dayup = dayup*(1+dayfactor)
print("工作日的力量是:{}".format(dayup))

輸出的結果:工作日的力量是:4.626500529730141

工作日進步1%,週末退步1%,1年之後進步4.62倍

結果僅介於每天進步1‰(1.44倍)和5‰(6.17倍)之間

工作日要多努力

問題來了:如果工作日進步1%,週末退步1%,那工作日要多努力才能趕得上每天進步1%取得的進步?

def dayUP(df):
    dayup = 1
    for i in range(365):
        if i % 7 in [6,0]:
            dayup = dayup * (1 - 0.01)
        else:
            dayup = dayup * (1 + df)
    return dayup
dayfactor = 0.01
while dayUP(dayfactor) < 37.78:
    dayfactor += 0.001
print(dayfactor)

結果是:0.019000000000000006

也就是:如果工作日進步1%,週末退步1%,工作日每天進步1.9%才能與每天進步1%,在1年後取得相當的成果:工作日足足是每天努力的近2倍!

如果每天都努力1.9%呢,365天后會進步多少?

print(pow(1.019,365))

結果是:962.8910773942189,962倍!

總結

雖然程式碼對一個人努力的過程做了簡化,但是看到這樣的結果,令人震撼。非常具有哲理的例子,相信對不少朋友都會有深刻的啟發和警醒。

嵩天老師在這節課的最後提到了GRIT一詞,代表的含義是:堅毅,對長期目標的持續激情及持久耐力。

GRIT是獲得成功最重要的因素之一,請牢記天天向上的力量。