求抽空帮忙看看为什么这段代码只能循环两次
b=0.01
B=1.0
while B<37.78:
print(b,B)
b+=0.001
for i in range(365):
if i%7 in [6,0]:
B*=0.99
else:
B*=1+b
print('工作日的努力参数是: {:.3f}'.format(b))
这是我的运行结果
0.01 1.0
0.011 5.984059269881169
工作日的努力参数是: 0.012
这是改成函数形式后的代码
def DAYUP(bx):
B=1
for i in range(365):
if i%7 in [6,0]:
B*=0.99
else:
B*=1+bx
return B
b=0.01
while DAYUP(b) <37.78:
print(b,DAYUP(b))
b+=0.001
print('工作日赶超计划努力因数:{:.3f}'.format(b))
令我比较困惑的是,改成函数形式后就正常了,结果如下:
0.01 4.626500529730141
0.011 5.984059269881169
0.012 7.73799925773407
0.013000000000000001 10.003482723230508
0.014000000000000002 12.928964174407406
0.015000000000000003 16.705766909887725
0.016000000000000004 21.580400446248152
0.017000000000000005 27.870399412247206
0.018000000000000006 35.98468562880759
工作日赶超计划努力因数:0.019
请问这是怎么回事?
