GlacierGao 发表于 2021-3-10 16:24:58

请问各位大佬一个问题,有关循环的

本帖最后由 GlacierGao 于 2021-3-10 16:58 编辑

遇到了一道小题,题目是这样的:
工作日模式要努力到什么水平,才能与每天努力1%一样?
A君: 一年365天,每天进步1%,不停歇
B君: 一年365天,每周工作5天休息2天,休息日下降1%,要多努力呢?

标答的代码是这样的:
def dayUP(df):
    dayup = 1.0
    for i in range(365):
      if i % 7 in :
            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."%dayfactor)

(37.78就是算出来的A君的“努力成果”,标答结果是0.019)
想对标答稍作改动,我的答案是这样的:
def dayup(x):
    dream = 1
    for i in range(365):
      if i % 7 in :
            dream *= 0.99
      else:
            dream *= (x + 1)
    return dream

a = 1
for i in range(365):
    a *= 1.01

df = 0.01
while df <= 0.03:
    if dayup(df) == a:
      break
    else:
      df += 0.001

print('每天的努力参数是: %.3f' % df)

但是结果出来是0.030;我试了很多遍,while条件小于等于多少,就输出多少。感觉应该是最后的循环里有问题
跪谢各位大佬{:10_266:}

qq1151985918 发表于 2021-3-10 16:38:24

列个方程式   

x^5*0.99^2 == 1.01^7

求 x

巴巴鲁 发表于 2021-3-10 16:50:14

你确定要让浮点数和浮点数比较?
我记得这个题就是求得最少,是个近似值

GlacierGao 发表于 2021-3-10 17:08:41

巴巴鲁 发表于 2021-3-10 16:50
你确定要让浮点数和浮点数比较?
我记得这个题就是求得最少,是个近似值

标答里不也是浮点数和浮点数比嘛{:10_291:}

GlacierGao 发表于 2021-3-10 17:09:40

qq1151985918 发表于 2021-3-10 16:38
列个方程式   

x^5*0.99^2 == 1.01^7


这个方程的原理我应该懂,但是解的方式是和标答一样,用循环一点一点试吗?

巴巴鲁 发表于 2021-3-10 17:12:38

GlacierGao 发表于 2021-3-10 17:08
标答里不也是浮点数和浮点数比嘛

答案那个是小于,
浮点数和浮点数比较是不推荐判断他们是否相等的,因为你看着相等,在计算机中存储时是不相等的,涉及精度了

GlacierGao 发表于 2021-3-10 17:15:49

巴巴鲁 发表于 2021-3-10 17:12
答案那个是小于,
浮点数和浮点数比较是不推荐判断他们是否相等的,因为你看着相等,在计算机中存储时是 ...

噢,那我比不出来的原因,可能就是因为这个?

巴巴鲁 发表于 2021-3-10 17:18:40

GlacierGao 发表于 2021-3-10 17:15
噢,那我比不出来的原因,可能就是因为这个?

还有可能就是计算出来的值和1.01^365不相等{:10_333:}
但是能不用浮点数==浮点数这种操作尽量别用

qq1151985918 发表于 2021-3-10 17:35:15

GlacierGao 发表于 2021-3-10 17:09
这个方程的原理我应该懂,但是解的方式是和标答一样,用循环一点一点试吗?

import math
print(math.pow((1.01**7)/(0.99**2), 1.0/5))

GlacierGao 发表于 2021-3-10 18:22:50

巴巴鲁 发表于 2021-3-10 17:18
还有可能就是计算出来的值和1.01^365不相等
但是能不用浮点数==浮点数这种操作尽量别用

谢谢谢谢!{:10_254:}

GlacierGao 发表于 2021-3-10 18:23:22

qq1151985918 发表于 2021-3-10 17:35


哈哈是这样,谢谢啦!

の凉介 发表于 2021-3-10 18:38:42

11

GlacierGao 发表于 2021-3-10 19:23:51

の凉介 发表于 2021-3-10 18:38
11

请问什么意思呢?

yywwf2003 发表于 2021-3-11 08:55:45

学习了!!
页: [1]
查看完整版本: 请问各位大佬一个问题,有关循环的