Q1:
一年365天,以第一天的能力为基数,记为1.0,当好好学学习时相比前一天提高千分之一,当没有学习时相比前一天下降千分之一,每天努力和每天放任一年下来能力值会相差多少呢?
若每天进步千分之一,则根据数学公式便可以计算出(1.0+0.001)**365,每天退步也可以用这样的方式计算出。
#DayDayUpQ1
import math
dayup = math.pow((1.0+0.001),365) #进步千分之一
daydown = math.pow((1.0-0.001),365) #退步千分之一
print("向上{:.3f},向下{:.3f}".format(dayup,daydown))
向上1.440,向下0.694
进程已结束,退出代码为 0
每天进步千分之一的结果差不多是每天退步千分之一的两倍,可见千分之一的力量不可以忽略
Q2
一年365天,如果好好学习时能力值比前一天提高千分之五,放任时相比前一天下降千分之五,效果相差多少呢?
#DayDayUpQ2
import math
dayup = math.pow((1.0+0.005),365) #进步千分之五
daydown = math.pow((1.0-0.005),365) #退步千分之五
print("向上{:.3f},向下{:.3f}".format(dayup,daydown))
向上6.175,向下0.160
进程已结束,退出代码为 0
千分之五下来,一年提高六倍,这个力量不容小觑。
Q3
一年365天,好好学习时相比前一天提高百分之一,放任时相比前一天下降百分之一。效果相差多少呢?
前三个问题中,只需要改变每天进步或者退步的值,因此定义一个新的变量,dayfactor,每次值发生变化的时候只需要改变变量的值即可。
#DayDayUpQ3
import math
dayfactor = 0.1
dayup = math.pow((1.0+dayfactor),365) #进步百分之一
daydown = math.pow((1.0-dayfactor),365) #退步百分之一
print("向上{:.3f},向下{:.3f}".format(dayup,daydown))
向上37.783,向下0.026
进程已结束,退出代码为 0
每天进步百分之一,一年下来是最开始的37倍,这个力量大到惊人。
Q4
一年365天,一周五个工作日,如果每个工作日都很努力,可以提高百分之一百,仅在周末放任一下,能力值下降百分之一,效果如何呢?
#DayDayUpQ4
dayfactor = 0.01
dayup=1.0
for i in range(365):
if i % 7 in [0,6]:
dayup = dayup*(1.0-dayfactor)
else:
dayup = dayup*(1.0+dayfactor)
print("周内努力周末休息的结果是{:.3f}".format(dayup))
周内努力周末休息的结果是4.627
进程已结束,退出代码为 0
这样周内努力,周末休息提高的结果仅仅是原来的4.6倍,与原来的37倍相差甚远。
Q5
如果对代码3.4的结果感到意外,那自然会有如下疑问:每天工作5天,休息2天,休息日退步0.01,那么工作日要努力到什么程度,一年后的水平才与每天努力百分之一的效果一样呢?
#DayDayUpQ5
def DayUP(df):
dayup=1.0
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.783):
dayfactor += 0.001
print("每天努力的参数是{:.3f}".format(dayfactor))
每天努力的参数是0.019
进程已结束,退出代码为 0
要努力一倍仅仅是为了休息两天,所以要天天努力。
从现在开始,见证天天向上的力量吧!
|