python的算法很強(qiáng)大对嚼,只需要幾行代碼,就可以實(shí)現(xiàn)數(shù)學(xué)上很經(jīng)典的案例绳慎,對(duì)于初學(xué)python的朋友來(lái)說(shuō)纵竖,不僅可以學(xué)習(xí)到東西,還可以在學(xué)習(xí)中找到樂(lè)趣杏愤;小編帶你看一下小猿圈中怎么來(lái)實(shí)現(xiàn)這三種算法靡砌。
1、**九九乘法表(兩個(gè)循環(huán))**
for i in range(1,10):
? ? for j in range(1,i+1):
? ? ? ? print("%d* %d = %(j,i,i*j),end=' ')
? ? print("")
2珊楼、金字塔
比如,輸入n=5通殃,類(lèi)似于如下形狀
? ? 1
? ? 121
? 12321
1234321
123454321
代碼:
>N = int(input("請(qǐng)輸入N:"))
i = 1
while i <= N:
??? i += 1
??? # 打印空格0,N-i
??? for x in range(0, N+1-i):
??????? print(" ", end='')
??? # 從小到大打印數(shù)字1->i
??? for y in range(1,i):
??????? print(y, end='')
??? # 從大到小打印數(shù)字
??? for z in range(1,i-1):
??????? print(i-1-z, end='')
??? print("")
3、楊輝三角
特點(diǎn):
1厕宗、每個(gè)數(shù)等于它上方兩數(shù)之和画舌。
2、每行數(shù)字左右對(duì)稱(chēng)已慢,由1開(kāi)始逐漸變大曲聂。
3、每行端點(diǎn)與結(jié)尾的數(shù)為1
代碼:
def triangles(N):
#? 首行
? ? line = [1]
? ? for _ in range(N):
#? ? ? 生成器
? ? ? ? yield line
? ? ? ? for i in range(1, len(line)):
#? ? ? ? ? 每個(gè)數(shù)等于它上方兩數(shù)之和佑惠。
? ? ? ? ? ? line[i] = pre[i] + pre[i - 1]
#? ? ? 結(jié)尾端點(diǎn)為1朋腋,需要額外添加
? ? ? ? line.append(1)
#? ? ? ? 將本行當(dāng)做生成下一行的依據(jù)
? ? ? ? pre = line[:]
N = int(input("請(qǐng)輸入一個(gè)整數(shù):"))? ?
for i in triangles(N):
? ? print(i)
通過(guò)這三個(gè)算法,感覺(jué)python學(xué)起來(lái)不是那么枯燥吧膜楷,簡(jiǎn)單的幾句代碼就可以實(shí)現(xiàn)著名的數(shù)學(xué)算法旭咽,小猿圈中還有很多有趣算法的實(shí)現(xiàn),想學(xué)習(xí)更多的赌厅,可以去看看穷绵,讓你可以在樂(lè)趣中學(xué)到很多東西。