python语言程序设计基础 习题 天天向上的力量(math.pow)
实例1:
一年365天,,以第一天的能力值为基数1.0,当好好学习时能力值相比前一天提高1%,没有学习时能力值相比前天要降低1%,每天努力和每天放任,一年下来的能力值相差多少?
解析:
如果每天都好好学习的话,就是计算1.01的365次方,为什么是365呢?因为这个能力值1是在第一天就拥有的,然后第一天好好学习就需要乘1.01,作为第一天的收获,第一天为1.0*(1+1%),第二天为1.0*(1+1%)**2.........第365天为1.0*(1+1%)**364。x**y在python中的意思为x的y次方。同理可得每天放任的话就是计算0.99的365次方。使用math库中的math.pow函数就可以很容易就写出了。
代码:
import math//引用math库
dayup=math.pow((1+0.01),365)
daydown=math.pow((1-0.01),365)
c=dayup-daydown
print(round(dayup,3))//输出每天努力的年终能力值
print(round(daydown,3))输出每天放任的年终能力值
print(round(c,3))输出相差的能力值
运行结果截图
实例2
一年365天,,初始值1.0,工作一天水平提高N,不工作时水平不下降,一周连续工作4天,试编写程序运算结果?当N=0.01时
解析:
一年有365/7=52周还余一天,每周工作四天,则一年工作208天。假设这一年的第一天为周一,则这一年的最后一天也就是多余的一天为周一。
我们再假设工作时间为
方案一,周1 2 3 4,那么这一年工作的时间就是209天。
代码:
import math
x=1
N=0.01
for i in range(1,366):
if i%7 in[1,2,3,4]:
x=x*(1+N)
else:
x=x
print(round(x,3))
运行结果
8.001
方案二,周2 3 4 5,那么这一年工作的时间为208天,
代码:
import math
x=1
N=0.01
for i in range(1,366):
if i%7 in[5,2,3,4]:
x=x*(1+N)
else:
x=x
print(round(x,3))
运行结果
7.922
方案三,周3 4 5 6,那么这一年工作的时间就是208天。
代码:
import math
x=1
N=0.01
for i in range(1,366):
if i%7 in[6,5,3,4]:
x=x*(1+N)
else:
x=x
print(round(x,3))
运行结果
方案四,周4 5 6 7,那么这一年工作的时间就是208天。
代码:
import math
x=1
N=0.01
for i in range(1,366):
if i%7 in[4,5,6,0]:
x=x*(1+N)
else:
x=x
print(round(x,3))
运行结果
7.922
方案五,周5 6 7 1,那么这一年工作的时间就是209天。
代码:
import math
x=1
N=0.01
for i in range(1,366):
if i%7 in[5,6,0,1]:
x=x*(1+N)
else:
x=x
print(round(x,3))
运行结果
8.001
方案六,周6 7 1 2,那么这一年工作的时间就是209天。
代码:
import math
x=1
N=0.01
for i in range(1,366):
if i%7 in[1,2,0,6]:
x=x*(1+N)
else:
x=x
print(round(x,3))
运行结果
8.001
方案七,周7 1 2 3,那么这一年工作的时间就是209天。
代码:
import math
x=1
N=0.01
for i in range(1,366):
if i%7 in[1,2,3,4]:
x=x*(1+N)
else:
x=x
print(round(x,3))
运行结果
8.001
总结:一种是包括周一的要多一天,为209天。一种是不包括的为208天。