python案例:天天向上的力量

问题描述

工作日模式要努力到什么水平,才能与每天努力1%一样?

  • A君: 一年365天,每天进步1%,不停歇
  • B君: 一年365天,每周工作5天休息2天,休息日下降1% ,要多努力呢? 每周工作5天休息2天,计算工作日的努力参数是多少才能与每天努力1%一样。

要求如下:

(1) 一年365天,以第0天的能力值为基数,记为1.0; (2) 当好好学习时,能力值相比前一天提高1%;当没有学习时,由于遗忘等原因能力值相比前一天下降1%;

输出示例

1
0.019

保留小数点后三位

先算出每天都努力,365天后的结果为:

1
2
3
goday = 1
goday = goday*1.01**365
print(round(goday,2))

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 
def workday(df):
work_day = 1
for i in range(365):
if i % 7 in [6,0]:
work_day = work_day*(1 - 0.01)
else:
work_day = work_day*(1 + df)
return work_day
param = 0.01
# 每天都努力的值
every_day = 1
every_day = round((every_day*1.01**365),2)
while workday(param) < every_day:
param += 0.001
print(round(param,3))

古风美女