一道python基础题,输出与标准输出不一致,是否可以看看问题出在哪?

本人是初学者,自己尝试着写这段代码时,没有使用函数,而是直接写了while循环判断,与标准代码不同,输出也不对。但是我找不出自己代码存在的问题(泪),我想不使用函数应该也可行。如有解答,万分感谢!

img

img


dayup = 1
i = 0.001
dayup1 = pow(1.01, 365)
while 1:
    #每次循环dayup要重置
    dayup = 1
    for c in range(365):
        if c%7 in [6,0]:
            dayup = dayup*0.99
        else:
            dayup = dayup*(1+i)
    #在i + 0.001之前就要比较是否大于等于dayup1,是的话当前的i就是结果
    if dayup >= dayup1:
        break
    i = i + 0.001
print("工作日的努力参数是: {:.3f}".format(i))

i初始值 为什么是0.001?