学的是b站的课,非本人自创代码!
现在来写一篇博客来讲解打印杨辉三角的方法,[如果讲述不清可以私信问哈,如果讲的不好也可以说,毕竟自己还是入门水平]
1.底层逻辑
明确打印多少阶级的杨辉三角,本篇演示的是5阶.没有对称!
2.步骤
基本逻辑步骤
1.固定阶级
# 杨辉三角
n = 5
2.前两行规律不同,所以前两行需要单独打印.
# 杨辉三角
n = 5
data = [[1],[1,1])
3.使用for循环,前两行特殊,所以循环从第三行开始,也就是下标为2.
# 杨辉三角
n = 5
data = [[1],[1,1])
for i in range(2,n):
4.两边全为1,所以固定两侧.
# 杨辉三角
n = 5
data = [[1],[1,1])
for i in range(2,n):
d = [1]
d.append(1)
5.而每一行中间的数用for循环实现,一共需要迭代i-1次.
# 杨辉三角
n = 5
data = [[1],[1,1])
for i in range(2,n):
d = [1]
for j in range(i-1):
d.append(1)
6.杨辉三角的规律是下一行中间的数为上一行数两两相加得到的,所以第i行数据位i-1行数据两两相加实现,所以为下图所示.
# 杨辉三角
n = 5
data = [[1],[1,1])
for i in range(2,n):
d = [1]
for j in range(i-1):
d.append(data[i-1][j] + data[i-1][j+1])
d.append(1)
7.将得到的数添加到原列表
# 杨辉三角
n = 5
data = [[1],[1,1])
for i in range(2,n):
d = [1]
for j in range(i-1):
d.append(data[i-1][j] + data[i-1][j+1])
d.append(1)
data.append(d)
8.将其打印出来
# 杨辉三角
n = 5
data = [[1],[1,1])
for i in range(2,n):
d = [1]
for j in range(i-1):
d.append(data[i-1][j] + data[i-1][j+1])
d.append(1)
data.append(d)
for i in data:
for j in i:
print(j,end="\t")
print()
3.演示
4.总结
个人认为初学者在编写程序时,先将其的底层逻辑找到,选择自己使用的语句,然后编写条件.多多调试,多改错,就会记住语法。有解释的不好的地方多多包涵,谢谢观看!