Python-天天向上的力量实例

问题一:1%。的力量
一年365天,每天进步1%。,累计进步多少呢?
一年365天,每天退步1%。,累计退步多少呢?

#DayDayUpQ1.py
dayup = pow(1.001,365)
daydown = pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

运行结果:
向上:1.44,向下:0.69

问题二:5%。和1%的力量
一年365天,每天进步5%。或者1%,累计进步多少呢?
一年365天,每天退步5%。或者1%,累计退步多少呢?

#DayDayUpQ2.py
dayfactor = 0.005#定义变量dayfactor代表进步了多少
dayup = pow(1+dayfactor,365)
daydown = pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

5%。的运行结果:
向上:6.17,向下:0.16
1%的运行结果:
向上:37.78,向下:0.03

问题三:工作日的力量
一年365天,一周5个工作日,每天进步1%
一年365天,一周2个休息日,每天退步1%
这种工作日的力量,如何呢?

#DayDayUpQ3.py
dayup = 1
dayfactor = 0.01
for i in range(365):
    if i % 7 in[6,0]:
        dayup = dayup * (1 - dayfactor)
    else:
        dayup = dayup * (1 + dayfactor)
print("工作日的力量:{:.2f}".format(dayup))

运行结果:
工作室的力量:4.63

问题四:工作日的努力
工作日模式要努力到什么水平,才能与每天努力1%一样?
假设有两个人老马和小马:
老马:一年365天,每天进步1%,不停歇
小马:一年365天,每周工作5天休息2天,休息日下降1%,要多努力多少呢?

#DayDayUpQ4.py
def dayUP(df):
    dayup = 1
    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.78:
    dayfactor += 0.001
print("工作日努力参数是:{:.3f}".format(dayfactor))

根据df参数计算工作日力量的函数
参数不同,这段代码可共用
运行结果:
工作日的努力参数是:0.019

本文仅为学习Python记录,资料来源于中国大学MOOC《Python语言设计》—嵩天

你可能感兴趣的