Python极简代码实现杨辉三角示例代码_python

杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。

把每一行看做一个list,写一个generator,不断输出下一行的list

实现下列输出效果:

# [1]
# [1, 1]
# [1, 2, 1]
# [1, 3, 3, 1]
# [1, 4, 6, 4, 1]
# [1, 5, 10, 10, 5, 1]
# [1, 6, 15, 20, 15, 6, 1]
# [1, 7, 21, 35, 35, 21, 7, 1]
# [1, 8, 28, 56, 70, 56, 28, 8, 1]
# [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

极简代码实现:

def triangles():
  L = [1]
  while True:
    yield L
    L.append(0);
    L = [L[i-1] + L[i] for i in range(len(L))]
n = 0
for t in triangles():
  print(t)
  n = n + 1
  if n == 10:
    break 

注:普通函数和generator生成器的区别:

1、普通函数调用直接返回结果,generator函数的调用,返回一个generator对象;(调用generator时可以先创建一个对象,再用next()方法不断获得下一个返回值,但实际中通常用for循环实现)

2、generator在执行过程中,遇到yield就中断,下次又继续执行

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python
杨辉三角
python杨辉三角、python打印杨辉三角、python实现杨辉三角、python写杨辉三角、python 杨辉三角形,以便于您获取更多的相关知识。

时间: 2024-09-18 04:45:19

Python极简代码实现杨辉三角示例代码_python的相关文章

C语言小程序 杨辉三角示例代码

输入要显示的杨辉三角的行数,会打印出金字塔型的杨辉三角,不过行数太多的话,效果不太好,可以再调整一下格式控制   复制代码 代码如下: #include <stdio.h> #include <stdlib.h> int main() {  int i,j,k;  int line;  int *prev, *next;  printf("输入要查看杨辉三角的行数(大于2):");  scanf("%d",&line);  if(li

C语言打印杨辉三角示例汇总_C 语言

杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一.在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1.也就是说任何一个数等于这个是高中的组合数.n代表行数减1,不代表列数减1.如:第五行的第三个数就为=6. 现在我们按第一种思路来写:先定义一个二维数组:a[N][N],略大于要打印的行数.再令两边的数为1,即当每行的第一个数和

PHP写杨辉三角实例代码_php实例

复制代码 代码如下: <?php //杨辉三角 for ($i=6;$i >= 0;$i--) { for ($j=$i;$j <= 6;$j++) { if ($j <= 6-1) { echo "<b>a</b>"; }else { echo "<br />"; } } } ?> PHP打印杨辉三角自定义 复制代码 代码如下: <form method="post" ac

用Python输出一个杨辉三角的例子_python

关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的图: 复制代码 代码如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 11 8 28 56 70 56 28 8 1 杨辉三角有以下几个特点: 每一项的值等于他左上角的数和右上角的数的和,如果左上角或者右上角没有数字,就按0计算.第N层项数总比N-1层多1个 计算第N层的杨辉三角,必须知道N-1层的数字,然后将相邻

批处理杨辉三角效果实现代码

 这篇文章主要介绍了批处理打印彩色的杨辉三角效果实现代码,喜欢的朋友可以测试下 效果图:   代码如下: @echo off&color 0e setlocal enabledelayedexpansion mode con: cols=130 lines=130 :top cls ::set /p in=请输入行数: set in=23&set ab=1&set var=64 if "%in%"=="" goto top if %in% g

我是刚学的大一生 这道我自己编的杨辉三角问题 但不知道错那里 请高手帮忙 ,谢谢

问题描述 int[,]a=newint[6,6];privatevoidbutton1_Click(objectsender,EventArgse){inti,j;for(i=1;i<7;i++)a[i,i]=1;a[i,1]=1;for(i=3;i<7;i++)for(j=2;j<i;i++){a[i,j]=a[i-1,j]+a[i-1,j-1];}for(i=1;i<7;i++)for(j=1;j<i+1;j++)label1.Text+=a[i,j]+"&qu

庞果网之杨辉三角的变形

题目详情          1      1   1  1   1  2   3  2  1 1  3  6   7  6  3  1 以上三角形的数阵,第一行只有一个数1, 以下每行的每个数,是恰好是它上面的数,左上的数和右上数等3个数之和(如果不存在某个数,认为该数就是0). 求第n行第一个偶数出现的位置.如果没有偶数,则输出-1.例如输入3,则输出2,输入4则输出3. 输入n(n <= 1000000000) [解析] 经过分析得出的结论如下: 1.前两行没有偶数可直接返回-1 2.一下每

c#-以C#打印输出杨辉三角如何对齐?

问题描述 以C#打印输出杨辉三角如何对齐? 试了好多次也没有成功输出可以对齐的!不知道那一堆代码应该写在哪? 解决方案 多想想 解决方案二: 这只是1位数字,要是2位,三位,更多呢,自己研究研究吧

通过SQL绘制杨辉三角的实现方法介绍_MsSql

无意中在csdn上看到一帖有关绘制杨辉三角的sql表达式,感觉很有意思.后来自己想下不借助临时表,根据杨辉三角的组合数计算方法C(n,m)=n!/[m!(n-m)!],进行绘制. 以下是完整的SQL代码: 复制代码 代码如下: use tempdbgoset nocount ondeclare @rows int=10, --行数,根据实际来控制        @x int=1,@y int=1,@sql nvarchar(max),@cols int /*根据杨辉三角的组合数计算方法:C(n,