Python(天天向上,三天打鱼两天晒网)练习

本文通过三道编程练习题探讨了在Python中模拟不同学习进度(进步和退步)的情况。每周2天休息,计算一年内不同学习策略的进步幅度,包括每天进步1%,每天退步1%以及“3天打鱼两天晒网”的模式。通过代码实现,得出一年进步的具体数值。

1、每周2天休息(周六、日),每天退步1%,5天学习,每天进步1%,1年能进步多少?

2、每周2天休息(周六、日),每天退步1%,另外“3天打鱼两天晒网”:3天学习每天进步1%,2天旷课每天不进步也不退步,1年能进步多少?

3、每周2天休息,每天退步1%,5天学习,如果一年至少能进步37.78倍(一年每天进步1%),需要每天进步多少?

三道题综合代码如下:


#DayDayUp.py(天天向上的力量)

#1、每周2天休息(周六、日),每天退步1%,5天学习,每天进步1%,1年能进步多少?
def dayUp():                        #函数的定义
    dayup=1                         #函数体
    for i in range(1,366):
        if(i%7 in [6,0]):
            dayup=dayup*(1-0.01)
        else:
            dayup=dayup*(1+0.01)
    print('一年能进步:%.2f'%dayup)
    return dayup                    #返回函数值
dayUp()                             #函数的调用

#2、每周2天休息(周六、日),每天退步1%,另外“3天打鱼两天晒网”:3天学习每天进步1%,2天旷课每天不进步也不退步,1年能进步多少?
def dayUP():
    dayup=1
    for i in range(1,366):
        if(i%7 in [6,0]):
           dayup=dayup*(1-0.01)
        elif(i%7 in [1,2,4]):
           dayup=dayup*(1+0.01)
        else:
           dayup=dayup
    print('一年能进步:%.2f'%dayup)
    return dayup
dayUP()
#3、每周2天休息,每天退步1%,5天学习,如果一年至少能进步37.78倍(一年每天进步1%),需要每天进步多少
def dayUp(df):
    dayup=1
    for i in range(1,366):
        if(i%7 in [6,0]):
            dayup=dayup*(1-df)
        else:
            dayup=dayup*(1+df)
    return dayup


df=0.01
while dayUp(df)<37.78:
    df+=0.001
print('需要每天进步:%.2f'%df)
print('一年能进步:%.2f'%dayUp(df))

运行结果如下(按题目顺序排列):

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值