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