python生成器杨辉三角_python 生成器生成杨辉三角的方法(必看)
用Python寫趣味程序感覺屌屌的,停不下來
#生成器生成展示楊輝三角
#原理是在一個2維數組里展示楊輝三角,空的地方用0,輸出時,轉化為' '
def yang(line):
n,leng=0,2*line - 1
f_list = list(range(leng+2)) #預先分配,insert初始胡會拖慢速度,最底下一行,左右也有1個空格
#全部初始化為0
for i,v in enumerate(f_list):
f_list[v] = 0
ZEROLIST = f_list[:] #預留一個全零的數組
f_list[leng//2] = 1 #初始的第一行
re_list =f_list[:]
n=0
while n < line:
n = n+1
yield re_list
f_list,re_list = re_list[:],ZEROLIST[:]
start = leng//2-n #計算一行中第一個1的位置
end = start + 2*n #計算一行中最后一個1的位置
while start <= end:
re_list[start] = f_list[start - 1] + f_list[start+1] #不管是不是1,該位置的數字,都是上一行該位置的左右兩個數的和
start = start + 1
return 'done'
def printList(L):
n = 0
p_str = ''
for value in L:
ch = str(value)
if value == 0:
ch = ' '
p_str = p_str + ch
print(p_str)
for value in yang(8):
printList(value)
以上這篇python 生成器生成楊輝三角的方法(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持我們。
本文標題: python 生成器生成楊輝三角的方法(必看)
本文地址: http://www.cppcns.com/jiaoben/python/184369.html
總結
以上是生活随笔為你收集整理的python生成器杨辉三角_python 生成器生成杨辉三角的方法(必看)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建行余额查询方法 7种查询方法介绍
- 下一篇: 来分期的购物额度可以提现吗