小猿圈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学 起来不是那么枯燥吧,简单的几句代码就可以实现著名的数学算法,小猿圈中还有很多有趣算法的实现,想学习更多的,可以去看看,让你可以在乐趣中学到很多东西。

发布于 2019-07-04 18:25