python實現小程式
阿新 • • 發佈:2019-01-09
1、楊輝三角形Python實現: 1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ / \ / \ 1 4 6 4 1 / \ / \ / \ / \ / \ 1 5 10 10 5 1 #楊輝三角形 def triangel(n): L=[1]#定義一個list[1] while True: yield L#打印出該list L = [L[x] + L[x + 1] for x in range(len(L) - 1)]#計算下一行中間的值(除去兩邊的1) L.insert(0, 1)#在開頭插入1,L.insert(index, object) -- 在下標處index插入object L.append(1)#在結尾新增1 if len(L) > 10:#僅輸出10行 break #生成一個generator物件,然後通過for迴圈迭代輸出每一行 a=triangel(10) for i in a: print(i) 2、找出列表中最大最小值 print(panduan([])) def pan(L): if L!=[]: #MAX=L[0],MIN=L[0]#max=L[0],min=L[0]顯示錯誤,int不能迭代 MAX = L[0] MIN=L[0] for i in range(len(L)): if L[i]>MAX: MAX=L[i] if L[i] < MIN: MIN = L[i] return MAX,MIN print(pan([1,2,3,4,5,6])) 3、漢諾塔的移動,表示3個柱子A、B、C中第1個柱子A的盤子數量,然後打印出把所有盤子從A藉助B移動到C的方法 #根據圓盤的數量確定柱子的排放順序:若n為偶數,按順時針方向依次擺放 A B C; #若n為奇數,按順時針方向依次擺放 A C B。 #⑴按順時針方向把圓盤1從現在的柱子移動到下一根柱子,即當n為偶數時,若圓盤1在柱子A,則把它移動到B;若圓盤1在柱子B,則把它移動到C;若圓盤1在柱子C,則把它移動到A。 #⑵接著,把另外兩根柱子上可以移動的圓盤移動到新的柱子上。即把非空柱子上的圓盤移動到空柱子上,當兩根柱子都非空時,移動較小的圓盤。這一步沒有明確規定移動哪個圓盤,你可能以為會有多種可能性,其實不然,可實施的行動是唯一的。 #⑶反覆進行⑴⑵操作,最後就能按規定完成漢諾塔的移動。 #所以結果非常簡單,就是按照移動規則向一個方向移動金片: #如3階漢諾塔的移動:A→C,A→B,C→B,A→C,B→A,B→C,A→C def move(n,a,b,c): if n==1: print(a,'->',c) else: move(n-1,c,a,b) print(a,'->',c) move(n - 1, b, a, c) print(move(2, 'a', 'b', 'c')) print(move(3,'a','b','c')) print(move(4,'a','b','c')) print(move(5,'a','b','c'))