您好,登錄后才能下訂單哦!
楊輝三角楊輝 定義如下:
1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ / \ / \ 1 4 6 4 1 / \ / \ / \ / \ / \ 1 5 10 10 5 1
把每一行看做一個list,試寫一個generator,不斷輸出下一行的list:
def triangles(): L = [1] while True: yield L M=L[:]#復制一個list,這樣才不會影響到原有的list。不然results里的每個列表的末尾會為0. M.append(0) L = [M[i-1]+M[i] for i in range(len(M))] n =0 results = [] for t in triangles(): print(t) results.append(t) print(results) n = n +1 if n == 10: break
ps:如何實現心
def printlove(start,length,midnumber=0,flag=31): for i in range(31): if i<start or i>start+length-1 and i<15-(midnumber-1)/2 or i>15+(midnumber-1)/2 and i<31-start-length or i> 30-start or i==flag: print " ", else: print "*", print "" for i in range(16): if i ==0: printlove(4,3) elif i==1: printlove(1,9) elif i>=2 and i<=5: printlove(0,i+10) elif i==6: printlove(1,7,7,15) elif i>=7 and i<=8: printlove(i-5,6,5-(i-7)*2) elif i==9: printlove(5,6,1) elif i==10: printlove(8,6,1) elif i==15: printlove(15,1,1) else: printlove(i-1,16-i,1)
實現的效果如下:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。