1 ''' 2 工作日的力量 3 一年365天,一周5个工作日,每天进步1% 4 一年365天,一周2个休息日,每天退步1% 5 这种工作日的力量,如何呢? 6 ''' 7 8 dayup = 1.0 9 dayfactor = 0.01 10 for i in range(1, 366): # 1.参考了有人提出0开始的话就是第一天为星期天来算的,所以1开始为星期一. 11 # 2.关于是365天还是364天,如果第一天就是1.0不算进进步的里面就应该是364天来算才合理或者这里直接从2开始. 12 if i%7 in [6, 0]: 13 dayup *= (1-dayfactor) 14 else: 15 dayup *= (1+dayfactor) 16 print('工作日的力量:{:.2f}'.format(dayup))
1 ''' 2 工作日模式要努力到什么水平,才能与每天努力1%一样? 3 A君: 一年365天,每天进步1%,不停歇 4 B君: 一年365天,每周工作5天休息2天,休息日下降1%,要多努力呢? 5 ''' 6 7 # dayfactor参数为B君工作日的进步程度. 8 def dayUp(dayfactor): 9 dayup = 1.0 10 for i in range(1, 366): 11 if i % 7 in [6, 0]: 12 dayup *= (1 - 0.01) 13 else: 14 dayup *= (1 + dayfactor) 15 return dayup 16 17 18 dayup_A = pow(1.01, 365) 19 print(dayup_A) 20 dayfactor = 0.01 21 while dayUp(dayfactor) < dayup_A: 22 dayfactor += 0.001 23 print('工作日的进步程度是:{:.3f}'.format(dayfactor))
第二段代码中,首先没有想到使用循环递增来对比然后确定进步程度.要用计算机的思维来解题.循环,对比试错.