问题由浅入深,帮你更好理解Python
天天向上的力量 问题1:
1‰的力量
- 一年365天,每天进步1‰,累计进步多少呢?
- 一年365天,每天退步1‰,累计剩下多少呢?
上代码:
#DayDayUp
dayup = pow(1.001, 365)
daydown = pow(0.999, 365)
print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))
天天向上的力量 问题2:
5‰和1%的力量
- 一年365天,每天进步5‰或1%,累计进步多少呢?
- - 一年365天,每天退步5‰或1%,累计剩下多少呢?
上代码:
#DayDayUp
dayfactor = 0.05 #通过改变dayfactor的值来改变进步或退步百分比
dayup = pow(1+dayfactor, 365)
daydown = pow(1-dayfactor, 365)
print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))
天天向上的力量 问题3:
工作日的力量
- 一年365天,一周5个工作日,每天进步1%
- 一年365天,一周2个休息日,每天退步1%
- 这种工作日的力量,如何呢?
上代码:
#DayDayUp
dayup = 1
dayfactor = 0.01
for i in range(365):
if i % 7 in [6,0]:
dayup= dayup*(1-dayfactor)
else:
dayup=dayup*(1+dayfactor)
print("{:.2f}".format(dayup))
天天向上的力量 问题4:
工作日的努力
- 工作日模式要努力到什么水平,才能与每天努力1%一样?
- - A君: 一年365天,每天进步1%,不停歇
- - B君: 一年365天,每周工作5天休息2天,休息日下降1%,要多努力呢?
for..in.. (计算思维) def..while.. ("笨办法"试错)
上代码:
#DayDayUp
def dayUp(df): #此处的def是定义函数的关键字
dayup = 1
for i in range(365):
if i % 7 in [6,0]:
dayup*=(1-0.01)
else:
dayup*=(1+df)
return dayup
dayfactor = 0.001
while dayUp(dayfactor) < 37.78: #while 是循还判断的关键字
dayfactor+=0.001
print("{:.3f}".format(dayfactor))
举一反三 天天向上的力量:
- 实例虽然仅包含8-12行代码,但包含很多语法元素
- 条件循环、计数循环、分支、函数、计算思维
- 清楚理解这些代码能够快速入门Python语言
最后提几个question供大家发散思维,进一步理解:
- 工作日模式中,如果休息日不下降呢?
- 如果努力每天提高1%,休息时每天下降1‰呢?
- 如果工作3天休息1天呢?