Python基础经典问题-天天向上的力量

一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰,当没有学习时由于遗忘等原因能力值相比前一天下降1‰。每天努力和每天放任,一年下来的能力值相差多少呢?

import math dayup = math.pow((1.0 + 0.001), 365) # 每天提高0.001 daydown = math.pow((1.0 - 0.001), 365) # 每天荒废0.001 print("向上: %.2f, 向下: %.2f."%(dayup, daydown)) 如果按5‰提高与下降对比一年的能力值相差多少呢? import math dayup = math.pow((1.0 + 0.005), 365) # 每天提高0.005 daydown = math.pow((1.0 - 0.005), 365) # 每天荒废0.005 print("向上: %.2f, 向下: %.2f."%(dayup, daydown))

1.俗语“三天打鱼两天晒网”,一年下来能力值又会是多少呢?

dp, df = 1.0, 0.01        
for i in range(365):
    if i % 5 in [4,0]:
        dp=dp*(1-df)
    else:
        dp=dp*(1+df)
  
print("{:.2f}.".format(dp)) 

2.如果按工作日5天学习,周末2天休息每天相比前一天下降1%,工作日要努力到什么程度,一年后的水平才能与每天努力1%取得的效果一样呢?请补全代码完成程序编写。以0.001为dayfactor的增量值。

import math
dayup, dayfactor = 1.0, 0.01
ddup= math.pow((dayup+dayfactor),365)
#print("天天向上的力量: {:.2f}.".format(ddup)) 

def dayUP(df):
    dayup = 1
    for i in range(365):
        if i % 7 in [6,0]:
            dayup = dayup*(1 - 0.01)
        else:
            dayup = dayup*(1 + df)
    return dayup
dayfactor = 0.01
while dayUP(dayfactor) < 37.78:
    dayfactor += 0.001
    

print("{:.4f}.".format(dayfactor))

3.尽管每天坚持,但人的能力发展并不是无限的,它符合特定模型,假设能力增长符合以下模型:以7天为一周期,连续学习3天能力值不变,但从第4天开始至第7天每天能力增长为前一天的1%,如果7天中有一天间断学习,则周期从头计算,请编写程序,如果初始能力为1,固定每10天休息一天, 365天后能力值是多少?

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))#

重点理解循环嵌套的使用。

求个三连吧。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值