天天向上续 要考虑间断问题,并从键盘输入休息日

尽管每天坚持,但人的能力发展并不是无限的,它符合特定模型。假设能力增长符合如下带有平台期的模型:以7天为周期,连续学习3天能力值不变,从第4天开始至第7天每天能力增长为前一天的1%。如果7天中有1天间断学习,则周期从头计算。如果初始能力值为1,通过键盘输入任意个休息日(休息日按照先后顺序输入,例如2,4,7,9,19,表示第2,4,7,9,19日为休息日),请问365天后学习能力值是多少?请用函数复用方法编程实现。

试试这个:

def add(x):
    return x * 1.1


xx_days = input().split(',')
xx_days = [int(temp) for temp in xx_days]
start = 1
week = 0
for i in range(1, 366):
    if i in xx_days:
        week = 0
        continue
    else:
        week += 1
        if 4 <= (week+7) % 7 <= 6:
            start = add(start)
        elif (week+7) % 7 == 0:
            start = add(start)
            week = 0

print(start)


from math import *
Restday = 10 #休息10天, 
dp, df= 1.0, 0.01 #初始值
 
for i in range(365):
    if i % 7 in [1,2,3] or i%10 in [1,2,3]:
        dp=dp
    else:
        dp=dp*1.01  
print("{:.2f}".format(dp))#
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632