首页 > 编程 > Python > 正文

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

2020-01-04 14:37:38
字体:
来源:转载
供稿:网友

杨辉三角杨辉 定义如下:

     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 =0results = []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,杨辉三角,代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表