python打印杨辉三角,注释详细
2022/1/24 1:04:33
本文主要是介绍python打印杨辉三角,注释详细,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
关键:杨辉三角形第i行j列的值 = 第 (i-1) 行 (j-1) 列的值 + 第 (i-1) 行 (j) 列的值
总体思路:循环计算出每个元素的值,用关键公式一层一层的计算,每一层元素存储在列表当中。要注意的是计算过程中的列表访问越界问题,故用条件判断是否为左右端点元素,改变计算方法。
若当前为该层左端点的话,第i行j列的值=第 (i-1) 行 (j) 列的值
若为该层右端点,则第i行j列的值 = 第 (i-1) 行 (j-1) 列的值
非做右端点,则 第i行j列的值 = 第 (i-1) 行 (j-1) 列的值 + 第 (i-1) 行 (j) 列的值
'''打印杨辉三角''' ''' 关键:杨辉三角形第i行j列的值= 第 (i-1) 行 (j-1) 列的值 + 第 (i-1) 行 (j) 列的值 ''' Ceng = int(input('输入要打印的杨辉三角层数:')) A = [[1]] #用列表来存储三角元素,最顶的元素是1 #循环计算出每个元素的值,一层一层的算,i表示层数,j表示该层的第j个元素 for i in range(1,Ceng): temp = [] #temp用来存储第i层的元素 for j in range(i+1): #杨辉三角的第i层会有i+1个元素 #若为非端点元素,可以直接按公式加得出值 if i-1 >= 0 and j-1 >= 0 and j < len(A[i-1]): temp.append(A[i-1][j-1] + A[i-1][j]) #若 j-1 < 0 说明为左端元素,则注意越界问题,只加一个值就行 elif j-1 < 0: temp.append(A[i-1][j]) #若 j == len(A[i]),则说明为本层的最右端元素,同样只加公式中的一个值就行,以防列表越界 elif j==len(A[i-1]): temp.append(A[i-1][j-1]) A.append(temp) #注意是添加的元素单位是列表类型的,第一次内层循环后A=[[1], [1,1] print(A) ''' 若层数为10,则A输出为: [[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]] 通过A[i]直接获取杨辉三角第i层(最顶层记位0层)的所有元素 '''
这篇关于python打印杨辉三角,注释详细的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础
- 2024-09-2610 种方法写出更好的 Python 代码
- 2024-09-25Python编程基础详解
- 2024-09-25Python编程入门教程
- 2024-09-25从零开始使用Python构建LLaMA 3
- 2024-09-23Python中理解和使用树形结构的简单教程
- 2024-09-23Python 编程基础入门
- 2024-09-18初探Python股票自动化交易:入门指南
- 2024-09-18Python量化入门:轻松掌握量化分析基础与实战