欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python pow和**_Python学习笔记 | 实例3:天天向上的力量

程序员文章站 2022-05-19 08:17:36
...

python pow和**_Python学习笔记 | 实例3:天天向上的力量

本文为中国大学MOOC《Python语言程序设计》课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:《Python语言程序设计基础》

天天向上的力量

加了与用户的交互,用户自己输入每天进步和下降的参数值dayfactor

dayfactor = eval(input("请输入每天变量的值:"))
dayup = pow((1+dayfactor),365)
daydown= pow(1-dayfactor,365)
print("天天向上:{},天天向下:{}".format(dayup,daydown))

1%,天天向上:37.78343433288728,天天向下:0.025517964452291125

1‰,天天向上:1.4402513134295205,天天向下:0.6940698870404745

5‰,天天向上:6.174652783431007,天天向下:0.16048131420416056

每天进步1%,一年进步37.78倍!

工作日的力量

现在假设:工作日进步1%,周末退步1%

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

输出的结果:工作日的力量是:4.626500529730141

工作日进步1%,周末退步1%,1年之后进步4.62倍

结果仅介于每天进步1‰(1.44倍)和5‰(6.17倍)之间

工作日要多努力

问题来了:如果工作日进步1%,周末退步1%,那工作日要多努力才能赶得上每天进步1%取得的进步?

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(dayfactor)

结果是:0.019000000000000006

也就是:如果工作日进步1%,周末退步1%,工作日每天进步1.9%才能与每天进步1%,在1年后取得相当的成果:工作日足足是每天努力的近2倍!

如果每天都努力1.9%呢,365天后会进步多少?

print(pow(1.019,365))

结果是:962.8910773942189,962倍!

总结

虽然代码对一个人努力的过程做了简化,但是看到这样的结果,令人震撼。非常具有哲理的例子,相信对不少朋友都会有深刻的启发和警醒。

嵩天老师在这节课的最后提到了GRIT一词,代表的含义是:坚毅,对长期目标的持续激情及持久耐力。

GRIT是获得成功最重要的因素之一,请牢记天天向上的力量。

相关标签: python pow和**