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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM