print(round(2.5)) #round()是四捨六入,五取偶;不是math下面的函式
print(round(1.2))
import
math
print(math.floor(2.5)) #
向下取整
print(math.ceil(2.5)) #
向上取整
print(math.sqrt(3)) #
開平方print(math.pi) #
paiprint(math.e) #
自然常數
lst=n=6for i in
range(n):
row=[1]
if i==0:
continue
for j in range(i-1):
else
:print(lst)
結果:
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1]]
#改進n=6p=
for i in range(n): #
每乙個行遍歷
row=[1] #
每行開頭都給乙個1
for k in range(i): #
每一行尾部給1
改進:可以直接給每一行的元素全部賦值為1
,後面再對中間的數進行重新賦值
if i==0: #
對於第一行特殊對待,不進行下面的賦值運算
continue
for j in range(1,i//2+1): #
對每一行的一半元素進行處理直到中間的元素
val=p[i-1][j-1]+p[i-1][j]#
每次以上一行的元素進行相加
row[j]=val #
每乙個元素加入到row中
if j!=i-j: #
這是對奇數個數的中間點跳過
row[-j-1]=val #
利用列表的倒序來對稱賦值
print(p) #
如p[-1]為列表p的倒數第乙個
結果:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1]]
列印楊輝三角第n行第m個數:
#改進a=6lst=
k=5for i in
range(a):
row=[1]*(i+1)
if i==0:
continue
for j in range(1,i//2+1):
val=lst[i-1][j-1]+lst[i-1][j]
row[j]=val
if j!=i-j:
row[-j-1]=val
print(lst[a-1][k-1]) #
列印第a行,第k列
### 改進:根據楊輝三角定理:第n行的m個數可以表示為c(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數c(n,r)=n!/(r!(n-r)!)
n=10k=5n,r=n-1,k-1d=n-rlst= #
用來裝n,r,d
temp=1
for i in range(1,n+1):
temp*=i
if i==r: #
利用乙個迴圈把階乘過程中所要擷取的階乘用if語句截斷下來
最先加進去的是最小的,所以與if的先後無關
if i==d:
#即[0][1],[2]分別是d,r以及n
if i==n:
#三個條件不要寫在一起了,因為邏輯不允許,如果有兩兩相等就會出錯
print(lst[2]//(lst[1]*lst[0]))
#改進import
math
n=100000p=
count=0
flag=true
start=datetime.datetime.now()
for x in range(2,n):
for i in
p: count+=1
if x%i==0:
flag=false
break
if i>=math.ceil(x**0.5):
flag=true
break
ifflag:
delta=(datetime.datetime.now()-start).total_seconds()
(len(p))
(count)
print(delta)
結果:
9592754026
0.447888
importmath
import
datetime
n=100000p=
count=0
start=datetime.datetime.now()
for x in range(2,n):
for i in
p: count+=1
if(x%i)==0:
break
else
:delta=(datetime.datetime.now()-start).total_seconds()
(len(p))
(count)
print(delta)
結果:
959246314476
9.33169
python楊輝三角 楊輝三角I II
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...
Python 楊輝三角
首先附上我們需要求得的楊輝三角 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 1,5,10,10,5,1 1,6,15,20,15,6,1 1,7,21,35,35,21,7,1 1,8,28,56,70,56,28,8,1 1,9,36,84,126,126,84,36,9,1 很顯...
楊輝三角 Python
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 coding utf 8 usr bin env python author wowlnan gi...