想问问大家这段代码为什么运行后什么也没有

img

你的result函数的return b应该写在for循环外面,写到里面第一个i就直接return结束函数了

你好,你程序里面没有定义a变量引起while未运行,代码如下修改即可

n = 1.0
a = 1
for i in range(365):
    a *= (1 + 0.01)


def result(dayfactor):
    b = 1.0
    for i in range(365):
        if i%7 in [6,0]:
            b *= (1 - 0.01)
    else:
        b *=(dayfactor+1)
    return b

dayfactor=0.01
while result(dayfactor)<a:
    dayfactor += 0.001
    print('工作的努力参数是:{: .3f}'.format(dayfactor))

有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力