当前位置: 移动技术网 > IT编程>脚本编程>Python > Python 打印杨辉三角形

Python 打印杨辉三角形

2020年10月12日  | 移动技术网IT编程  | 我要评论
文章目录一、杨辉三角形二、二项式定理三、编程打印杨辉三角形1、采用二维列表来处理杨辉三角2、编写程序 - 杨辉三角.py3、运行程序,查看结果一、杨辉三角形杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623 ~ 1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。(a+b)1=a+b(a+b)^1=a+b(a+b)1=a+b(a+b)2=a2+2ab+



一、杨辉三角形

杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623 ~ 1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
在这里插入图片描述

( a + b ) 1 = a + b (a+b)^1=a+b (a+b)1=a+b
( a + b ) 2 = a 2 + 2 a b + b 2 (a+b)^2=a^2+2ab+b^2 (a+b)2=a2+2ab+b2
( a + b ) 3 = a 3 + 3 a 2 b + 3 a b 2 + b 3 (a+b)^3=a^3+3a^2b+3ab^2+b^3 (a+b)3=a3+3a2b+3ab2+b3
( a + b ) 4 = a 4 + 4 a 3 b + 6 a 2 b 2 + 4 a b 3 + b 4 (a+b)^4=a^4+4a^3b+6a^2b^2+4ab^3+b^4 (a+b)4=a4+4a3b+6a2b2+4ab3+b4
……

二、二项式定理

二项式定理,又称牛顿二项式定理,由艾萨克牛顿于1664-1665年提出。

( a + b ) n = C n 0 a n + C n 1 a n − 1 b + C n 2 a n − 2 b 2 + … … + C n i a n − i b i + … … + C n n − 1 a b n − 1 + C n n b n = ∑ i = 0 n C n i a n − i b i , C n i = n ! ( n − i ) ! ⋅ i ! (a+b)^n=C_n^0a^n+C_n^1a^{n-1}b+C_n^2a^{n-2}b^2+……+C_n^ia^{n-i}b^i+……+C_n^{n-1}ab^{n-1}+C_n^nb^n=\displaystyle \sum_{i=0}^nC_n^ia^{n-i}b^i,C_n^i=\frac{n!}{(n-i)!\cdot i!} (a+b)n=Cn0an+Cn1an1b+Cn2an2b2++Cnianibi++Cnn1abn1+Cnnbn=i=0nCnianibiCni=(ni)!i!n!

  • ( a + b ) 3 = C 3 0 a 3 + C 3 1 a 2 b + C 3 1 a b 2 + C 3 3 b 3 = a 3 + 3 a 2 b + 3 a b 2 + b 3 (a+b)^3=C_3^0a^3+C_3^1a^2b+C_3^1ab^2+C_3^3b^3=a^3+3a^2b+3ab^2+b^3 (a+b)3=C30a3+C31a2b+C31ab2+C33b3=a3+3a2b+3ab2+b3
  • ( a + b ) 4 = C 4 0 a 4 + C 4 1 a 3 b + C 4 2 a 2 b 2 + C 4 3 a b 3 + C 4 4 b 4 = a 4 + 4 a 3 b + 6 a 2 b 2 + 4 a b 3 + b 4 (a+b)^4=C_4^0a^4+C_4^1a^3b+C_4^2a^2b^2+C_4^3ab^3+C_4^4b^4=a^4+4a^3b+6a^2b^2+4ab^3+b^4 (a+b)4=C40a4+C41a3b+C42a2b2+C43ab3+C44b4=a4+4a3b+6a2b2+4ab3+b4

三、编程打印杨辉三角形

1、采用二维列表来处理杨辉三角

a [ i ] [ 0 ] = 1 , i ∈ N a[i][0]=1,i\in N a[i][0]=1iN
a [ i ] [ i ] = 1 , i ∈ N a[i][i]=1,i\in N a[i][i]=1iN
a [ i ] [ j ] = a [ i − 1 ] [ j − 1 ] + a [ i − 1 ] [ j ] , i ≥ 2 , 1 ≤ j < i a[i][j]=a[i-1][j-1]+a[i-1][j],i\ge2,1\le j\lt i a[i][j]=a[i1][j1]+a[i1][j]i21j<i

2、编写程序 - 杨辉三角.py

在这里插入图片描述

# -*- coding: utf-8 -*- """
Created on Mon Oct 12 11:45:35 2020

@author: howard

杨辉三角形
""" def yanghui(n): triangle = [] triangle.append([1]) triangle.append([1, 1]) for i in range(2, n): row = [1] for j in range(0, len(triangle[i - 1]) -1): row.append(triangle[i - 1][j] + triangle[i - 1][j + 1]) row.append(1) triangle.append(row) return triangle

n = int(input('输入杨辉三角行数:')) triangle = yanghui(n) for i in range(len(triangle)): for j in range(len(triangle[i])): print(triangle[i][j], end='\t') print() 

3、运行程序,查看结果

在这里插入图片描述

4、等腰三角形格式输出杨辉三角形

在这里插入图片描述

本文地址:https://blog.csdn.net/howard2005/article/details/109025214

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网