Python⼊门习题3.天天向上
例3.1 ⼀年365天,以第⼀天的能⼒值为基数,记为1.0,当好好学习时能⼒值相⽐前⼀天提⾼1%,当没有学习时能⼒值相⽐前⼀天下降1%。每天努⼒(dayup)和每天放任(daydown),⼀年下来的能⼒值相差多少呢?
解:
1 dayup = (1.0 + 0.01)**365
2 daydown = (1.0 - 0.01)**365
3print("每天努⼒:{:.2f},每天放任:{:.2f}".format(dayup,daydown))
每天努⼒:37.78,每天放任:0.03
例3.2 ⼀年365天,⼀周5个⼯作⽇,如果每个⼯作⽇都很努⼒,可以提⾼1‰,仅在周末放任⼀下,能⼒值下降1‰,⼀年下来能⼒值power 为多少呢?(采⽤循环⽅式实现,假设第365天是周⽇,power初始值为1)
解:根据数学知识可知,如果第365天是周⽇,那么第⼀天也是周⽇。
根据题意⽤循环⽅式实现,已知⼯作⽇与周期⽇每7天⼀循环,天数与是否⼯作成周期函数,周期为7。此处采⽤for循环来实现。for i in range(365).星期、天数、i值等关系参见下表格。
星期天数i值i%7的值
html制作淘宝搜索框代码⽇100
⼀211
........................
六766
⽇870
可见,休息⽇i%7值为0或6。由此代码如下:
1 power = 1
2for i in range(365):
3if i % 7 in [0,6]:
4 power = power * (1 - 0.01)
5else:
6 power = power * (1 + 0.01)
7print("每周向上5天向下2天的能⼒值:{:.2f}".format(power))
每周向上5天向下2天的能⼒值:4.63
例3.3 根据3.2条件,⼯作⽇需要努⼒到什么程度,⼀年后的⽔平才与每天都努⼒1%取得的效果相同呢?
解:将⼯作⽇努⼒的能⼒值提⾼数设为 x ,设置函数Power(x) ,当函数Power(x)的值不⼩于37.78时输出 x .
这⾥采⽤通过多次运算求解问题的解决⽅案,即程序从低到⾼逐渐增加每天努⼒的 x ,最后到合适的 x
1def Power(x):
2 power = 1.0
3for i in range(365):
4if i % 7 in [0,6]:
5 power = power * (1 - 0.01)
6else:
7 power = power * (1 + x)
8return power
form表单滑块控件最好的python入门教材9 x = 0.01
10while (Power(x) < 37.78):
sql查询字段11 x += 0.01php中文全称
12print("每天努⼒的参数是:{:.3f}".format(x))
git clone 403 每天努⼒的参数是:0.020
博客参考《Python程序设计基础》⾼等教育出版社(第2版)嵩天,礼欣,黄天⽻著
推荐与上述教材配套的北京理⼯⼤学嵩天,礼欣,黄天⽻⽼师的MOOC
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论