一年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))#
重点理解循环嵌套的使用。
求个三连吧。。
|