文章目录
- 写在开头的话
- 用Python求杨辉三角
- 题目
- 解析
- 演示
这里是一段防爬虫文本,请读者忽略。
本文原创首发于CSDN,作者IDYS
博客首页:
本文链接:article/details/107755514
未经授权,禁止转载!恶意转载,后果自负!尊重原创,远离剽窃!
写在开头的话
- 请记住:实践是掌握知识的最快方法
- 如果你只是怀着看看的态度去快速浏览文章,而不去认认真真的把文章里面讲的任何一个知识点去实践一遍,那么你永远也掌握不了它
- 生命不息,折腾不止!
用Python求杨辉三角
题目
- 杨辉三角的特性
- 它的两条斜边都是由数字1组成
- 其余的数则是等于它肩上的两个数之和
- 用
python
求出其前n行
解析
- 每进入一行就将这一行所有的空间进行开辟
- 从第二行开始,一行中的一个数等于前一行中,这个数字相同的索引位置加上相同位置的前一个索引的位置
- 数字从
1
开始计算,第一个索引和最后一个索引保持唯一,不参与赋值 - 杨辉三角左右对称
- 对行的奇偶性划分
演示
- 程序源码
try:
a = int(input("需要打印杨辉三角的行数\n"))
print("请输入的行数为 %d 行\n"%a)
except ValueError:
print("您的输入不合法,请重新输入")
exit(-1)
triangle=[]
n = a
for k in range(n):
row=[1]*(k+1)
triangle.append(row)
for j in range(1,k//2+1):
val = triangle[k-1][j]+triangle[k-1][j-1]
row[j]=val
if j != k / 2:
row[-j-1]=val
print(triangle)
- 运行结果1
需要打印杨辉三角的行数
7
请输入的行数为 7 行
[[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]]
- 运行结果
需要打印杨辉三角的行数
asda
您的输入不合法,请重新输入