小猿圈python之九九乘法表、金字塔和杨辉三角
python的算法很强大,只需要几行代码,就可以实现数学上很经典的案例,对于初学python的朋友来说,不仅可以学习到东西,还可以在学习中找到乐趣;小编带你看一下小猿圈中怎么来实现这三种算法。
1、九九乘法表(两个循环)
for i in range(1,10):
for j in range(1,i+1):
print("%d* %d = %(j,i,i*j),end=' ')
print("")
2、金字塔
# 比如,输入n=5,类似于如下形状
# 1
# 121
# 12321
# 1234321
# 123454321
代码:
N = int(input("请输入N:"))
i = 1
while i <= N:
??? i += 1
??? # 打印空格0,N-i
??? for x in range(0, N+1-i):
??????? print(" ", end='')
??? # 从小到大打印数字1->i
??? for y in range(1,i):
??????? print(y, end='')
??? # 从大到小打印数字
??? for z in range(1,i-1):
??????? print(i-1-z, end='')
??? print("")
3、杨辉三角
特点:
1、每个数等于它上方两数之和。
2、每行数字左右对称,由1开始逐渐变大。
3、每行端点与结尾的数为1
代码:
def triangles(N):
# 首行
line = [1]
for _ in range(N):
# 生成器
yield line
for i in range(1, len(line)):
# 每个数等于它上方两数之和。
line[i] = pre[i] + pre[i - 1]
# 结尾端点为1,需要额外添加
line.append(1)
# 将本行当做生成下一行的依据
pre = line[:]
N = int(input("请输入一个整数:"))
for i in triangles(N):
print(i)
通过这三个算法,感觉 python学 起来不是那么枯燥吧,简单的几句代码就可以实现著名的数学算法,小猿圈中还有很多有趣算法的实现,想学习更多的,可以去看看,让你可以在乐趣中学到很多东西。