鱼C论坛

 找回密码
 立即注册
查看: 1462|回复: 2

[已解决]谁能解答一下这段代码的逻辑

[复制链接]
发表于 2020-3-7 14:39:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

-A君: 一年365天,每天进步1%,不停歇
-B君: 一年365天,每周工作5天休息2天,休息日下降1% ,要多努力呢?

每周工作5天休息2天,计算工作日的努力参数是多少才能与每天努力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("工作日的努力参数是: {:.3f}".format(dayfactor))
最佳答案
2020-3-7 15:19:09
逻辑是这样的,最后的循环
while dayUP(dayfactor) < 37.78:
    dayfactor += 0.001
是指每天进步1%,一年是37.78,循环的内容是B君的条件,dayfactor是指工作日的努力系数,初始值是0.01,显示是不够的,所以循环加0.001,一直到超过37.78.
前面的函数是B君的努力成果,每次输出每天过后的结果,循环365次。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-7 14:41:13 | 显示全部楼层
确认过代码,是中国大学mocc嵩天老师的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-7 15:19:09 | 显示全部楼层    本楼为最佳答案   
逻辑是这样的,最后的循环
while dayUP(dayfactor) < 37.78:
    dayfactor += 0.001
是指每天进步1%,一年是37.78,循环的内容是B君的条件,dayfactor是指工作日的努力系数,初始值是0.01,显示是不够的,所以循环加0.001,一直到超过37.78.
前面的函数是B君的努力成果,每次输出每天过后的结果,循环365次。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-23 11:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表