尽管每天坚持,但人的能力发展并不是无限的,它符合特定模型。假设能力增长符合如下带有平台期的模型:以7天为周期,连续学习3天能力值不变,从第4天开始至第7天每天能力增长为前一天的1%。如果7天中有1天间断学习,则周期从头计算。如果初始能力值为1,通过键盘输入任意个休息日(休息日按照先后顺序输入,例如2,4,7,9,19,表示第2,4,7,9,19日为休息日),请问365天后学习能力值是多少?请用函数复用方法编程实现。
def main():
power = 1.0
study = 'y'
unstudy = 'n'
temp = 0
state = 'y'
for i in range(0, 365):
if state == study and (temp in [0,1,2]):
power *= 1
temp = (temp + 1)%7
elif state == study and (temp in [3,4,5,6]):
power *= 1.01
temp = (temp + 1)%7
elif state == unstudy:
temp = 0
else:
pass
return power
power=main()
print("连续学习365天后能力值为{:.2f}".format(power))