网络编程
位置:首页>> 网络编程>> Python编程>> 使用python生成杨辉三角形的示例代码

使用python生成杨辉三角形的示例代码

作者:蜜罐子公子  发布时间:2023-04-03 18:42:31 

标签:python,杨辉三角形

杨辉三角杨辉 定义如下:


    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)

实现的效果如下:

使用python生成杨辉三角形的示例代码

来源:https://segmentfault.com/a/1190000016180681

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com