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

python 生成器生成杨辉三角的方法(必看)

郑旭
2023-03-14
本文向大家介绍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生成杨辉三角形的示例代码,包括了使用python生成杨辉三角形的示例代码的使用技巧和注意事项,需要的朋友参考一下 杨辉三角杨辉 定义如下: 把每一行看做一个list,试写一个generator,不断输出下一行的list: ps:如何实现心 实现的效果如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

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

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

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

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