“天天向上”力量的Python教学实例

1951年,毛主席题词“好好学习,天天向上”,成为激励一代代中国人奋发图强的经典短语。那么,“天天向上”的力量有多大呢?这里用Python程序来演算一下。

【实例代码1】天天向上

一年365天,以第一天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高千分之五,当没有学习时能力值相比前一天下降千分之五。每天努力和每天放任,一年下来的能力值相差多少呢?

根据题目,天天向上的力量是(1+0.005)的365次方,放任或者向下的力量是(1-0.005)的365次方,则代码如下:

#天天向上的案例
import math
dayup=math.pow((1.0+0.005),365)    #提高0.005
daydown=math.pow((1.0-0.005).365)  #放任0.005
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

结果:
在这里插入图片描述
可以看出每天努力千分之五,一年下来将提高6倍,好像不多?请继续分析

【实例代码2】天天向上

一年365天,如果好好学习时能力值相比前一天提高百分之一,当放任时相比前一天下降百分之一,效果相差多少呢?

天天向上的力量是(1+0.01)的365次方,放任或者向下的力量是(1-0.01)的365次方。

#天天向上的案例
import math
dayup=math.pow((1.0+0.01),365)    #提高0.01
daydown=math.pow((1.0-0.01),365)  #放任0.01
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

结果:
在这里插入图片描述
则可以看出来,每天努力百分之一,一年下来将提高37倍,很惊人吧。

【实例代码3】天天向上

一年365天,一周5个工作日,如果每个工作日都很努力,可以提高百分之一,仅在周末放任一下,能力值下降百分之一,效果如何呢?

当前水平值为N,则工作日水平变化是N*(1+0.01),非工作日是N*(1-0.01)。由于水平值并非每天都乘以相同系数,因此,这个程序需要采用循环方式来实现。代码如下;

dayup,dayfafactor=1.0,0.01
for i in range(365):
    if i%7 in [6,0]:
        dayup=dayup*(1-dayfafactor)
    else:
        dayup=dayup*(1+dayfafactor)
        pass
print("向上5天,向下2天的力量:{:.2f}".format(dayup))

结果:
在这里插入图片描述
可以看出来每周努力5天,放任2天,一年一年下来,水平仅是初始的4.63倍,与每天坚持所提高的37倍相差甚远。

你可能感兴趣的:(Python小程序,python,小程序)