天天向上的力量python(舉一反三)


天天向上的力量python實例(舉一反三)

實例1:

一年365天,以第1天的能力值為基數,記為1.0,當好好學習時能力值相比前一天提高0.1%,沒有學習實能力值相比前一天下降0.1%。

問:每天努力和每天放任,一年下來相差多少呢?

分析:天天向上的力量=(1+0.001)^365,天天放任的力量=(1-0.001)^365

程序代碼:

1 #DayDayUp1.py 存儲文件名稱
2 import math
3 dayup=math.pow((1.0+0.001),365)#提高0.001
4 daydown=math.pow((1.0-0.001),365)#放任0.001
5 print("向下:{:.2f},向下:{:.2f}.".format(dayup,daydown))

運行結果:

向下:1.44,向下:0.69.

實例2:

若將實例1的努力值改為提高0.5%,1%呢?

分析:每天努力的因素會根據需求的不同而不斷變化,所以,新代碼中可以定義一個dayfactor變量表示這個值;這樣每次變化只需更改dayfactor變量值即可。

程序代碼:

1 import math
2 dayfactor=0.005
3 dayup=math.pow((1.0+dayfactor),365)#提高0.005
4 daydown=math.pow((1.0-dayfactor),365)#放任0.005
5 print("向下:{:.2f},向下:{:.2f}.".format(dayup,daydown))

運行結果:

向下:6.17,向下:0.16.

實例3:

一周5個工作日努力,提高1%;僅在周末放任兩天,能力值下降1%

分析:工作日水平變化N*(1+0.01);非工作日N*(1-0.01);采用for in去遍歷365天的計算思維

程序代碼:

1 #DayDayUp365.py 存儲文件名稱
2 dayup,dayfactor=1.0,0.01
3 for i in range(365):
4     if i%7 in [6,0]:    
5         dayup=dayup*(1-dayfactor)
6     else:
7         dayup=dayup*(1+dayfactor)
8 print("向上5天向下2天的力量:{:.2f}".format(dayup))

運行結果:

向上5天向下2天的力量:4.63

實例4:

根據實例3,若要一年后達到的努力值與每天努力1%的效果一樣,工作日要努力到什么程度呢?

分析:每天努力1%,一年后的努力值為:37.78;通過定義一個dayup函數來求解

程序代碼:

 1 def dayup(df):
 2     dayup=1.0
 3     for i in range(365):
 4         if i%7 in [6,0]:    
 5             dayup=dayup*(1-0.01)
 6         else:
 7             dayup=dayup*(1+df)
 8     return dayup
 9 dayfactor=0.01
10 while (dayup(dayfactor)<37.78):
11     dayfactor+=0.001
12 print("每天努力的參數是:{:.3f}".format(dayfactor))

運行結果:

每天努力的參數是:0.019

舉一反三:

問題的變化:

(1)工作日努力水平提高1%,休息日水平不下降呢?

(2)工作3天休息1天,能力值的變化?

(3)工作努力值提高1%,休息日下降0.1%呢?

等等這些問題,讀者可以在下面自己嘗試一下這些問題的變化

 

1.實例雖然僅包含8-12行代碼,但包含很多的語法元素

2.判斷條件循環while ,次數循環for ,分支if else,函數def dayup(df)

3.清楚理解這些代碼能夠快速入門python語言

 

 

 

 

風格


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM