使用python打印十行杨辉三角过程详解

yipeiwu_com7年前Python基础

杨辉三角,是二项式系数在三角形中的一种几何排列

  • 每个数等于它上方两数之和。
  • 每行数字左右对称,由1开始逐渐变大。
  • 第n行的数字有n项。
  • 第n行数字和为2n-1。
  • 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
  • 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。
  • 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。
  • (a+b)n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。

性质5和性质7是杨辉三角的基本性质,是研究杨辉三角其他规律的基础。

代码

num=input('请输入行数:')
num =int(num)

list1 =[] #list 用来保存杨辉三角
for n in range(num):
  row =[1] #保存行
  list1.append(row)

  if n ==0:
    print(row)
    continue
  for m in range(1,n):
    row.append(list1[n - 1][m - 1] + list1[n - 1][m])
  row.append(1)

  print(row)

结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中list列表的一些进阶使用方法介绍

判断一个 list 是否为空 传统的方式: if len(mylist): # Do something with my list else: # The list is e...

Python3使用TCP编写一个简易的文件下载器功能

Python3使用TCP编写一个简易的文件下载器功能

利用Python3来实现TCP协议,和UDP类似。UDP应用于及时通信,而TCP协议用来传送文件、命令等操作,因为这些数据不允许丢失,否则会造成文件错误或命令混乱。下面代码就是模拟客户端...

Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法

Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法

关于conda安装matplotlib报错 最近在师姐机器上跑实验的时候,想利用matplotlib包来绘制损失曲线图,安装过程中碰到了一些小麻烦,感觉之前好像也碰到过类似的问题,网上一...

windows系统中python使用rar命令压缩多个文件夹示例

复制代码 代码如下:#!/usr/bin/env python# Filename: backup_ver1.py import osimport time # 1. The files...

python实现简单socket通信的方法

本文实例讲述了python实现简单socket通信的方法。分享给大家供大家参考,具体如下: 刚刚开始接触python,实现了一个helloworld程序---关于udp协议的socket...