要考虑间断问题并从键盘输入休息日

尽管每天坚持,但人的能力发展并不是无限的,它符合特定模型。假设能力增长符合如下带有平台期的模型:以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))