我想不用def试一下,但是结果错了,逻辑上哪里有问题?
关注者
4被浏览
549登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
在up函数中,每次进入for循环前,day都被初始化为数值1
而你去掉up函数后,day变成了一个while循环外部的一个全局变量,在每次进入for循环时,没有被初始化,应该使用另外一个全局变量来代替这个while内部的变量day作为条件判断,参考:
#/usr/bin/python3
a = 0
# 这个值只要是小于37.78的数字即可,while的第一次循环便会覆盖这个值
conditon = 0
while conditon < 37.78:
a = a + 0.001
day = 1
for i in range(365):
if i % 7 in [6, 0]:
conditon = day * 0.99
else:
conditon = day * (1 + a)
print("工作日的努力参数是:{:.3f}".format(a))
由于运行需要的时间太长,这里就不展示运行结果了,仅提供上面的代码供你参考。