当前位置: 首页 > 编程笔记 >

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

祁烈
2023-03-14
本文向大家介绍使用python生成杨辉三角形的示例代码,包括了使用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)

实现的效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 杨辉三角 杨辉,字谦光,汉族,钱塘(今浙江省杭州)人,南宋杰出的数学家。 他曾担任过南宋地方行政官员,为政清廉,足迹遍及苏杭一带。他在总结民间乘除捷算法、“垛积术”、纵横图(幻方)以及数学教育方面,均做出了重大的贡献。他是世界上第一个排出丰富的纵横图和讨论其构成规律的数学家。还曾论证过弧矢公式,时人称为“辉术”。与秦九韶、李冶、朱世杰并称“宋元数学四大家”。主要著有数学著作5种21卷,即《详解九章

  • 本文向大家介绍python 生成器生成杨辉三角的方法(必看),包括了python 生成器生成杨辉三角的方法(必看)的使用技巧和注意事项,需要的朋友参考一下 用Python写趣味程序感觉屌屌的,停不下来 以上这篇python 生成器生成杨辉三角的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本节利用过 Java 语言中的流程控制语句,如条件语句、循环语句和跳转语句等知识输出一个指定行数的杨辉三角形。 杨辉三角形由数字进行排列,可以把它看作是一个数字表,其基本特性是两侧数值均为 1,其他位置的数值是其左上方数值与右上角数值之和。打印杨辉三角形时需要使用到 for 循环语句。 打印杨辉三角形的实现思路是:每一行前面都是空格,而每行空格的个数需要根据总行数来确定,这个可以通过找规律归纳出来

  • 本文向大家介绍用Python输出一个杨辉三角的例子,包括了用Python输出一个杨辉三角的例子的使用技巧和注意事项,需要的朋友参考一下 关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的图: 杨辉三角有以下几个特点: 每一项的值等于他左上角的数和右上角的数的和,如果左上角或者右上角没有数字,就按0计算。 第N层项数总比N-1层多1个 计算第N层的杨辉三角,必须知道N-1层的数字,

  • 本文向大家介绍python实现杨辉三角的几种方法代码实例,包括了python实现杨辉三角的几种方法代码实例的使用技巧和注意事项,需要的朋友参考一下 方法一:迭代 方法二:生成器 方法三:递归 杨辉三角特性: 【1,1】=【0,1】+【1,0】 【1,2,1】=【0,1,1】+【1,1,0】 【1,3,3,1】=【0,1,2,1】+【1,2,1,0】 【1,4,6,4,1】=【0,1,3,3,1】+

  • 本文向大家介绍python实现杨辉三角思路,包括了python实现杨辉三角思路的使用技巧和注意事项,需要的朋友参考一下 程序输出需要实现如下效果: [1] [1,1] [1,2,1] [1,3,3,1] ...... 方法:迭代,生成器 实现逻辑: 1.由于yield为生成器中断输出,所以有了第一个次输出为[1] 2.继续while下面的yield后的循环,此时list长度为1,将其代入L中的le