Day6、Python

举报
Jack-Cui 发表于 2021/05/31 13:03:23 2021/05/31
【摘要】 题目 杨辉三角 1、程序分析     杨辉三角基本性质:     a、第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。     b、每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。...

题目 杨辉三角
1、程序分析
    杨辉三角基本性质:
    a、第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
    b、每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。
    举例:
1
    可以利用Python的生成器generator、sum、zip方法,来实现杨辉三角的打印。
2、程序实现

#Topic : 杨辉三角   
#File Name : Triangle.py
#Author : Jack Cui
#Created : 8 April 2016
def triangles(): a = [1] while True: yield a a = [sum(i) for i in zip([0] + a,a + [0])]

if __name__ == '__main__': h = int(input('请输入您要显示的最大行数:')) tri = triangles() for n in range(h): print(next(tri))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

3、结果显示
2

文章来源: jackcui.blog.csdn.net,作者:Jack-Cui,版权归原作者所有,如需转载,请联系作者。

原文链接:jackcui.blog.csdn.net/article/details/51094227

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。