一 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)是不可以這么寫的。
