天天向上的力量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语言

 

 

 

 

风格

你可能感兴趣的:(天天向上的力量python(举一反三))