实例3:天天向上的力量
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
工作日模式要努力到什么水平,才能与每天努力1%一样?
-A君: 一年365天,每天进步1%,不停歇
-B君: 一年365天,每周工作5天休息2天,休息日下降1% ,要多努力呢?
每周工作5天休息2天,计算工作日的努力参数是多少才能与每天努力1%一样。
要求如下:
(1) 一年365天,以第0天的能力值为基数,记为1.0;
(2) 当好好学习时,能力值相比前一天提高1%;当没有学习时,由于遗忘等原因能力值相比前一天下降1%;
输出结果格式如下:(其中结果保留小数点后三位,冒号后有一个空格)
工作日的努力参数是: 0.019
源代码:
#天天向上的力量
dayup1 = pow(1.01,365) #pow(a,b)函数计算a的b次方 dayup1是A君,工作日和休息日都进步一点
def dayUP(df): #定义函数dayUP,让其计算B君最终学习效果
dayup2=1 #dayup2是B君,工作日进步,休息日退步
for i in range(365):
if i%7 in [0,6]: #挑出休息日
dayup2=dayup2*0.99
else:
dayup2=dayup2*(1+df)
return dayup2
dayfactor= 0.01
while dayUP(dayfactor)< dayup1 :
dayfactor += 0.001
print("工作日的努力参数是:{:.3f}".format(dayfactor))
程序截图:
运行结果: