今天学习操作实例:天天向上的力量
一、天天向上(基础版)
1%的力量,每天成长1%,一年成长多少倍;每天减少1%,一年还剩多少?
代码实现:#天天向上的力量(基础版)
dayup = pow(1.01,365)
daydown = pow(0.99,365)
print("每天提升1%,一年提升至""{:.2f}"";每天退步1%,一年退步至""{:.2f}".format(dayup,daydown))
结果还是超出想象的:
二、天天向上(劳逸结合版)
如果每个工作日努力工作,进步1%,每周末娱乐,退步1%,一年能进步多少呢?
分析:首先判断工作日和休息日,根据工作日休息日的不同采用不同的计算方式。
工作日休日的判断——根据每周7天判断,365天除以7,余数在1-5说明是工作日;余数6或者0,说明是休息日。
代码实现:#天天向上的力量(劳逸结合版)
dayup = 1
fori inrange(365):
a = i%7
ifa in[0,6]:
dayup = dayup*0.99
else:
dayup=dayup*1.01
print("工作日提升1%,休息日退步1%,则全年提升至""{:.2f}".format(dayup))
结果如下:(与休息日坚持成长差距还是很大的呀)
三、天天向上(PK版)
小白每天努力成长1%(不休息);老白只在工作日工作,休息日娱乐为主下降1%,那么老白工作日需要多努力呢?需要成长多少?
分析:小白:每天成长1%,全面最终达到37.78。
老白工作日怎么样努力才能弥补休息日的退步,并到达37.78呢?
代码实现:#天天向上的力量(PK版)
defdayuplao(xishulao):
dayuplao = 1
fori inrange(365):
a = i % 7
ifa in[0, 6]:
dayuplao = dayuplao * 0.99
else:
dayuplao = dayuplao * (1+xishulao)
returndayuplao
dayupxiao = pow(1.01,365)
xishulao = 0.01
whiledayuplao(xishulao) < dayupxiao:
xishulao = xishulao+0.001
print("老白工作日需要提升""{:.2f}%"",休息日退步1%,全年才能赶上小白成长".format(xishulao*100))
得到结果:
四、天天向上(PK版升级)
如果小白每天努力成长2%、3%、5%的话,老白该怎么努力呢?
实现如下:#天天向上的力量(PK版升级)
defdayuplao(xishulao):
dayuplao = 1
fori inrange(365):
a = i % 7
ifa in[0, 6]:
dayuplao = dayuplao * 0.99
else:
dayuplao = dayuplao * (1+xishulao)
returndayuplao
xishuxiao=eval(input("请输入小白每天成长系数(%):")[0:-1])
dayupxiao = pow(1+xishuxiao/100,365)
xishulao = 0.01
whiledayuplao(xishulao) < dayupxiao:
xishulao = xishulao+0.001
print("如果小白每天成长""{:.2f}""%,则老白工作日须要提升""{:.2f}%"",休息日退步1%,全年才能赶上小白成长".format(xishuxiao,xishulao*100))
结果如下: