例3.1 一年365天,以第一天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1%,当没有学习时能力值相比前一天下降1%。每天努力(dayup)和每天放任(daydown),一年下来的能力值相差多少呢?

解:

 dayup = (1.0 + 0.01)**365
daydown = (1.0 - 0.01)**365
print("每天努力:{:.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的值
日 1 0 0
一 2 1 1
...... ...... ...... ......
六 7 6 6
日 8 7 0

  可见,休息日i%7值为0或6。由此代码如下:

 power = 1
for i in range(365):
if i % 7 in [0,6]:
power = power * (1 - 0.01)
else:
power = power * (1 + 0.01)
print("每周向上5天向下2天的能力值:{:.2f}".format(power))

  每周向上5天向下2天的能力值:4.63

例3.3 根据3.2条件,工作日需要努力到什么程度,一年后的水平才与每天都努力1%取得的效果相同呢?

解:将工作日努力的能力值提高数设为 x ,设置函数Power(x) ,当函数Power(x)的值不小于37.78时输出 x .

  这里采用通过多次运算求解问题的解决方案,即程序从低到高逐渐增加每天努力的 x ,最后找到合适的 x

 def Power(x):
power = 1.0
for i in range(365):
if i % 7 in [0,6]:
power = power * (1 - 0.01)
else:
power = power * (1 + x)
return power
x = 0.01
while (Power(x) < 37.78):
x += 0.01
print("每天努力的参数是:{:.3f}".format(x))

  每天努力的参数是:0.020

博客参考《Python程序设计基础》高等教育出版社(第2版) 嵩天,礼欣,黄天羽著

推荐与上述教材配套的北京理工大学 嵩天,礼欣,黄天羽老师的MOOC

Python入门习题3.天天向上的更多相关文章

  1. Python入门习题4.文本进度条

    例4.1.设置一组文本进度条,使之运行效果如下: --------执行开始--------% 0 [->**********]%10 [*->*********]%20 [**->* ...

  2. Python入门习题2.蟒蛇绘制(turtle库)

    例2.调用turtle库中的若干函数来绘制蟒蛇,要求:(1)主体窗口宽650像素,高度350像素,窗口左侧与屏幕左侧像素距离200,窗口顶部与屏幕顶部像素距离200:(2)画笔落点在原点反向前进250 ...

  3. Python入门习题1.温度转换

    这一节的课堂例题为: 例1.编写一个Python程序,完成摄氏度到华氏度,华氏度到摄氏度的温度转换. 解: (1)分析问题:利用程序实现温度转换,由用户输入温度值,程序给出输出结果. (2)划分边界: ...

  4. Python入门习题10.河内塔(汉诺塔)问题

    例10 共n个圆盘,a,b,c三根柱子 #汉诺塔问题.py def Hanoi(n): #定义n阶汉诺塔问题移动次数函数 if n == 1: return 1 else: return 2*Hano ...

  5. Python入门习题9.数码管时间

    #七段数码管.py import turtle,datetime def drawGap(): #绘制数码管间隔 turtle.penup() turtle.fd(5) def drawLine(dr ...

  6. Python入门习题8.羊车门问题

    例8. 羊车门问题描述:有3扇关闭的门,一扇后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么.参赛者首先选择一扇门.在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊.此时,允许参 ...

  7. Python入门习题7.分别统计输入各类字符个数

    例7.用户从键盘输入一行字符,编写一个程序,统计并输出其中的英文字符(包括中文字符).数字.空格和其他字符个数. #字符数统计.py Str = input('请输入一行字符:') alpha = 0 ...

  8. Python入门习题6.猜数游戏和其异常处理

    例6:在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”:小于预设的数,显示“遗憾,太小了”,如此循环,直至猜中数,显示”预测N次,猜中了”,其中N是 ...

  9. Python入门习题5.蒙特卡罗方法计算圆周率

    #CalPi.py from random import random from math import sqrt from time import clock DARTS = 10000000 hi ...

随机推荐

  1. 基础入门Bootstrap

    一.CSS样式 1.图片 2.布局.排版(之全局显示) 3.容器-网格-栅格系统 搭建的格式如下 <!DOCTYPE html> <html> <head> < ...

  2. linux ab压力测试

    1.安装 yum -y install httpd-tools 2.检测版本 ab -V 3.常用 ab -c -n 127.0.0.1/index.php #同时处理100个请求并运行10次inde ...

  3. Altium Designer 19 导出光绘文件

    一.点击 文件--制造输出--Gerber Files 第一次设置如下 绘制层点击进去全选 钻孔光圈 符号大小50mil 生成文件 关闭不用保存 蚀刻图 二.点击 文件--制造输出--Gerber F ...

  4. Java实现代理服务器

    Web代理(proxy)服务器是网络的中间实体. 代理位于Web客户端和Web服务器之间,扮演"中间人"的角色. HTTP的代理服务器即是Web服务器又是Web客户端. 代理服务器 ...

  5. 转Serial,Parallel,CMS,G1四大GC收集器特点小结

    转 https://blog.csdn.net/u013812939/article/details/48782343 1.Serial收集器 一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有 ...

  6. pip安装包出现timeout的解决办法

    今天安装django时老是出现timeout WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, sta ...

  7. Graph Neural Networks for Computer Vision

    Graph Neural Networks for Computer Vision I was attracted by this image: This is an inspiring image ...

  8. URL跳转漏洞

    URL跳转原理: 由于越来越多的需要和其他第三方应用交互,以及在自身应用内部根据不同的逻辑将用户引向到不同的页面,譬如一个典型的登录接口就经常需要在认证成功之后将用户引导到登录之前的页面,整个过程中如 ...

  9. ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  10. Shiro学习资料

    这篇博客的作者是张开涛,他写了很多专题文章,值得关注一下. 博客专栏 - 跟我学Shirohttp://www.iteye.com/blogs/subjects/shiro