Python的常見幾道數學運算題


一 python 相關數學函數及使用示例

常用的數學函數:

ceil(x) 取頂 

floor(x) 取底

fabs(x) 取絕對值

factorial (x) 階乘

hypot(x,y)  sqrt(x*x+y*y)

pow(x,y) x的y次方

sqrt(x) 開平方

log(x)

log10(x)

trunc(x)  截斷取整數部分

isnan (x)  判斷是否NaN(not a number)

degree (x) 弧度轉角度

radians(x) 角度轉弧度

1.一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

import math

for i in range(10000):
  x=int(math.sqrt(i+100))
  y=int(math.sqrt(i+268))
  if (x*x==i+100)and(y*y==i+268):
    print i

 

 主要是中間的這三句,首先是定義了x,y,然后列出了成功的條件。

2.取任意小於1美元的金額,然后計算可換成最少多少枚硬幣。硬幣有1美分、5美分、10美分、25美分4種,如0.76美元可換3個25美分、1枚1美分。

  coins=[25,10,5,1]

  for obj in coins:

    if money>=obj:

      print money/obj

      money=money%obj

 在python 2.7中,這里的除是整除。

 3.求1到100的素數

素數的定義

from math import sqrt
i=100
list=[]

for i in range (2,101):
  f=True
  root=sqrt(i)
  root=int(root)
  for j in range (2,root+1):
    if i%j==0:
      f=False
      break
  if f:
    list.append(i)

print list

 

設定了一個flag 變量和一個list進行控制,實現結果。

 

4.求一個三位數,三位數字都不相同的情況。

  for i in range(1,5):

    for j in range (1,5):

      for k in range (1,5):

        if (i!=j) and (j!=k) and(i!=k):

          print i,j,k

 

注意如果只列入i!=j,j!=k是不行的。

 

5.用戶輸入5個數字組成列表或者元祖,輸出其平均值

  list=[]

  sum=0

  i=0

  while i<5:

    num=raw_input("Please input a num>")

    sum=sum+int(num)

    list.append(num)

    i=i+1

  print sum/5

  print list

(1)是要注意num需要轉化成Int型的

(2)list=list.append(num)是不可以這么寫的。

 


免責聲明!

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



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