天天向上的力量实例详解(持续的价值)

问题分析:一年365天,每天进步1%,累计进步多少呢?

1.01的365次方

一年365天,每天退步1%,累计退步多少呢?

0.99的365次方

如果是“三天打鱼两天晒网”呢?

如果是”双休日还不退步呢“?

问题一:1%o的力量

一年365天,每天进步1%o,累计进步多少呢?

一年365天,每天退步1%o,累计退步多少呢?

采用数学公式的话,计算为进步为1.001的365次方

退步为0.999的365次方

采用代码如何进行完成呢?:

代码界面:

#DayDayUpQ1.py
dayup=pow(1.001,365)#pow函数可以进行幂的运算,将计算结果赋给dayup这个变量
daydown=pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))#{:.2f}表示将变量dayup和daydown分别赋值到这个位置时取小数点后两位

运行界面:

结论:每天进步1%o的力量,一年365天进步1.44倍

每天退步1%o的力量,一年365天只剩下0.69倍

问题二:5%o的力量和1%的力量

一年365天,每天进步5%o或者1%的力量,累计进步多少呢?

一年365天,每天退步5%o或者1%的力量,累计退步多少呢?

采用数学公式的话,计算为进步为1.005的365次方,1.01的人365次方

                                 退步为0.999的365次方,0.99的365次方

5%o的力量

代码实例:

#Day.p
dayfactor=0.005#设置变量的目的在于当更改属性值大小的时候只更改变量的数值的的大小即可,其他不用改变,比较方便快捷
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

运行界面:

 1%的力量:

代码界面:

#Day.p
dayfactor=0.01#设置变量的目的在于当更改属性值大小的时候只更改变量的数值的的大小即可,其他不用改变,比较方便快捷
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

运行界面:

结论:每天进步5%o的力量,一年365天进步6.17倍

每天退步5%o的力量,一年365天只剩下0.16倍;

每天进步1%的力量,一年365天进步37.78倍

每天退步1%的力量,一年365天只剩下0.03倍

 问题三:工作日的力量

一年365天,一周5个工作日,每天进步1%,

一年365天,一周2个休息日,每天退步1%

这种工作日的力量,如何呢?

代码界面:

# DayDayQ3.py
dayup = 1.0
dayfactor = 0.01
for i in range(365)
:#临时变量i用于保存每次循环访问的目标对象中的元素,365为循环的次数,即从0到364次。
   if i % 7 in [6, 0]:
       
"""
        %为两个操作数相除进行取余数的运算,if i % 7 in [6,0]是为了进行判断i与7相除的结果是否在6和0之间,如果在6和0之间,则进行运算
        否则,执行else语句里面的。
        一周有7天,1-5为工作日,周六、日为休息日。当一个数开始循环的时候,这个数除以7进行取余数,余数为1-5代表对应的周一到周五,
        余数为6或者0时为周六和周日
        """

        dayup = dayup * (1 - dayfactor)
     
  """
        for语句,进行遍历循环,逐一访问目标对象中的数据,
        格式如下:for 临时变量 in 目标对象:
                目标对象可以是字符串、文件或后续章节中将会学习的组合数据类型
                                       临时变量用于保存每次循环访问的目标对象中的元素
                                       目标对象的元素个数决定了循环的次数,目标对象中的元素被访问完之后循环结束
        for语句可以与range()函数搭配,range()函数可以生成一个由整数组成的可迭代对象(可简单理解为支持使用for循环遍历的对象)
        """

   else:
       dayup = dayup * (1+dayfactor)
print("工作日的力量:{:.2f}".format(dayup))

运行界面:

结论:工作日进步1%,休息日退步1%,一年365天下来进步为初始值的4.63倍。

问题四:工作日的努力

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

A君:一年365天,每天进步1%,不停歇

B君:一年365天,每天工作5天休息2天,休息日下降1%,要多努力呢?

A君:代码界面:

#Day.p
dayfactor=0.01#设置变量的目的在于当更改属性值大小的时候只更改变量的数值的的大小即可,其他不用改变,比较方便快捷
dayup=pow(1+dayfactor,365)
print("向上:{:.2f}".format(dayup))

运行界面:

 可知,A君在一年365天,每天进步1%,不停歇的话,最后进步是初始值的37.78倍。

B君:一年365天,每天工作5天休息2天,休息日下降1%,要多努力呢?

对于这个问题,因为计算机的处理速度很快,所以我们可以使用试错的方法进行运算

我们设计的流程图如下:

 当我们了解到a君一年后会进步37.78时,我们无法清楚B君应该在工作日进步多少的前提下,我们可以假设B君工作日每天进步1%,然后出来的运算结果与A君的运算结果进行比较,然后再逐一增加。

在这个过程中我们可以用到函数。

代码界面:

#DayDayUpQ4.py
def dayUP(df):
    """
    def保留字用于定义函数
    首先我们定义一个函数为dayUP,他的参数为df,df是一个占位符,使用df表示dayfactor的简称。
    根据df参数计算工作日力量的函数,参数不同,这段代码可以共用。
开发人员可以根据自己的需求定义函数。Python使用def关键字来定义函数,其语法格式如下:
def 函数名 ([参数列表]):
["""文档字符串"""]
函数体
[return语句]
以上语法格式的相关说明如下。
def关键字:函数的开始标志
函数名:函数的唯一标识,遵循标识符的命名规则
参数列表:负责接收传入函数中的数据,可以包含一个或多个参数,也可以为空
冒号:函数体的开始标志
文档字符串:由一对三引号包裹的、用于说明函数功能的字符串,可以省略。
函数体:实现函数功能的具体代码
return语句:返回函数的处理结果给调用方,是函数的结束标志。若函数没有返回值,可以省略return语句。
    """
    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
    """
    while语句一般用于实现条件循环,该语句由while关键字、循环条件和冒号组成。whlie语句和从属于该语句的代码段组成循环结构,其语法格式如下:
    while循环格式:while 循环条件:
                      代码段
    其中代码运行解释为判断所定义的那个函数是否小于37.78,如果小于则这个函数的参数进行添加0.001,慢慢进行添加。
    使用while语句进行调用dayUP函数
    """
print("工作日的努力参数是:{:.3f}".format(dayfactor))

运行界面:

结论:工作日努力1.9%,休息日休息,比起每天努力1%的多。

  • 12
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直再追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值