例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. jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作)

    JQuery下锚点的平滑跳转 对于锚点的平滑跳转,在一般的商业性质的网站上,权衡来说,要谨慎使用. 例如:让页面平滑滚动到一个id为box的元素处,则JQuery代码只要一句话,关键位置 如下: $( ...

  2. Python中queue消息队列模块

    from queue import Queue from queue import PriorityQueue print("Queue类实现了一个基本的先进先出(FIFO)容器,使用put ...

  3. linux清理 clientmqueue 垃圾文件防止 inode 被占满

    #find /var/spool/clientmqueue/ -type -f |xargs rm -f

  4. docker安装es

    下载镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.1 创建容器并映射docker run -e ES_JAVA_OP ...

  5. sort 文本排序

    1.命令功能 sort 将输入的文件内容按照指定的规则排序,然后将排序的内容输出. 2. 语法格式 sort  option  file 参数说明 参数 参数说明 -b 忽略每行开头的空格 -n 根据 ...

  6. nginx http正向代理简单配置及systemd 配置

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  7. less: 变量

    在Less中声明变量方式是使用@符号 @test_width: 300px; .box { width: @test_width; height: @test_width; background-co ...

  8. css--图片整合(精灵图)

    图片整合(精灵图) 精灵图的优点: 减少图片的字节 减少了网页的http请求,从而大大的提高了页面的性能 解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进 ...

  9. AOP 和 IOC

    IOC :  控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency ...

  10. APP稳定性测试-monkey执行

    Monkey命令行可用的全部选项 *示例 : adb shell monkey -p cn.lejiayuan.alpha --pct-touch 30 --pct-motion 15 --pct-t ...