實例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天。