一:用循环打印九九乘法表
1.矩形输出九九乘法表:
for i in range(1,10):
for j in range(1,10):
if i <= 9:
print(f"{j}×{i} = {i * j}", end="\t")
print("")
运行结果如下:
1×1 = 1 2×1 = 2 3×1 = 3 4×1 = 4 5×1 = 5 6×1 = 6 7×1 = 7 8×1 = 8 9×1 = 9
1×2 = 2 2×2 = 4 3×2 = 6 4×2 = 8 5×2 = 10 6×2 = 12 7×2 = 14 8×2 = 16 9×2 = 18
1×3 = 3 2×3 = 6 3×3 = 9 4×3 = 12 5×3 = 15 6×3 = 18 7×3 = 21 8×3 = 24 9×3 = 27
1×4 = 4 2×4 = 8 3×4 = 12 4×4 = 16 5×4 = 20 6×4 = 24 7×4 = 28 8×4 = 32 9×4 = 36
1×5 = 5 2×5 = 10 3×5 = 15 4×5 = 20 5×5 = 25 6×5 = 30 7×5 = 35 8×5 = 40 9×5 = 45
1×6 = 6 2×6 = 12 3×6 = 18 4×6 = 24 5×6 = 30 6×6 = 36 7×6 = 42 8×6 = 48 9×6 = 54
1×7 = 7 2×7 = 14 3×7 = 21 4×7 = 28 5×7 = 35 6×7 = 42 7×7 = 49 8×7 = 56 9×7 = 63
1×8 = 8 2×8 = 16 3×8 = 24 4×8 = 32 5×8 = 40 6×8 = 48 7×8 = 56 8×8 = 64 9×8 = 72
1×9 = 9 2×9 = 18 3×9 = 27 4×9 = 36 5×9 = 45 6×9 = 54 7×9 = 63 8×9 = 72 9×9 = 81
2.左下三角形式九九乘法表:
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}×{i}={i*j}",end="\t")
print(" ")
运行结果如下:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
1×4=4 2×4=8 3×4=12 4×4=16
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
3.左上三角形式九九乘法表:
注:乘法算式按行输出,与完整格式相比,内层循环范围为i~9,当外层循环的i逐渐递增时,每行输出的算式个数会越来越少,print(" ")表示换行,不输出这句的话输出的乘法表格式错乱。
for i in range(1,10):
for j in range(i,10):
print(f"{i}×{j} = {i * j}", end="\t")
print(" ")
运行结果如下:
1×1 = 1 1×2 = 2 1×3 = 3 1×4 = 4 1×5 = 5 1×6 = 6 1×7 = 7 1×8 = 8 1×9 = 9
2×2 = 4 2×3 = 6 2×4 = 8 2×5 = 10 2×6 = 12 2×7 = 14 2×8 = 16 2×9 = 18
3×3 = 9 3×4 = 12 3×5 = 15 3×6 = 18 3×7 = 21 3×8 = 24 3×9 = 27
4×4 = 16 4×5 = 20 4×6 = 24 4×7 = 28 4×8 = 32 4×9 = 36
5×5 = 25 5×6 = 30 5×7 = 35 5×8 = 40 5×9 = 45
6×6 = 36 6×7 = 42 6×8 = 48 6×9 = 54
7×7 = 49 7×8 = 56 7×9 = 63
8×8 = 64 8×9 = 72
9×9 = 81
4.右下三角形式九九乘法表:
for i in range(1,10):
for k in range(1,10-i):
print(end=" ") #此处七个空格
for j in range(1,i+1):
print("%d×%d=%2d" % (i, j, i*j), end=" ") #切记此处不能用格式化输出.format方式或者f"{}", 要用格式化输出只能pycharm中才会显示下面的样式。
print(" ")
运行结果如下:
1×1= 1
2×1= 2 2×2= 4
3×1= 3 3×2= 6 3×3= 9
4×1= 4 4×2= 8 4×3=12 4×4=16
5×1= 5 5×2=10 5×3=15 5×4=20 5×5=25
6×1= 6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=36
7×1= 7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=49
8×1= 8 8×2=16 8×3=24 8×4=32 8×5=40 8×6=48 8×7=56 8×8=64
9×1= 9 9×2=18 9×3=27 9×4=36 9×5=45 9×6=54 9×7=63 9×8=72 9×9=81
5.右上三角形式输出九九乘法表:
注:相比左上三角形,内层循环语句多了两句,由于每个算式所占的位置为7个字节,所以多余前面空出的地方输出相应的空格数,
在Python中不能直接写print(" ")语句表示输出空格,必须添加end关键字,表示结尾以等号右边的内容输出,与后面的右上和左上的差别相似。
for i in range(1,10):
for k in range(1,i):
print(end=" ") #此处8个空格
for j in range(i,10):
print("%d×%d=%2d" % (i, j, i * j), end=" ")#切记此处不能用格式化输出.format方式或者f"{}", 要用格式化输出只能pycharm中才会显示下面的样式。
print(" ")
运行结果如下:
1×1= 1 1×2= 2 1×3= 3 1×4= 4 1×5= 5 1×6= 6 1×7= 7 1×8= 8 1×9= 9
2×2= 4 2×3= 6 2×4= 8 2×5=10 2×6=12 2×7=14 2×8=16 2×9=18
3×3= 9 3×4=12 3×5=15 3×6=18 3×7=21 3×8=24 3×9=27
4×4=16 4×5=20 4×6=24 4×7=28 4×8=32 4×9=36
5×5=25 5×6=30 5×7=35 5×8=40 5×9=45
6×6=36 6×7=42 6×8=48 6×9=54
7×7=49 7×8=56 7×9=63
8×8=64 8×9=72
9×9=81
6.正金字塔形式输出九九乘法表:
for i in range(1,10):
for k in range(1,10-i):
print(end=" ")#此处为8个字节
for j in range(1,i+1):
print(f"{j}×{i} = {i * j}", end=" ")#此处为8个字节
print(" ")
运行结果如下:
1×1 = 1
1×2 = 2 2×2 = 4
1×3 = 3 2×3 = 6 3×3 = 9
1×4 = 4 2×4 = 8 3×4 = 12 4×4 = 16
1×5 = 5 2×5 = 10 3×5 = 15 4×5 = 20 5×5 = 25
1×6 = 6 2×6 = 12 3×6 = 18 4×6 = 24 5×6 = 30 6×6 = 36
1×7 = 7 2×7 = 14 3×7 = 21 4×7 = 28 5×7 = 35 6×7 = 42 7×7 = 49
1×8 = 8 2×8 = 16 3×8 = 24 4×8 = 32 5×8 = 40 6×8 = 48 7×8 = 56 8×8 = 64
1×9 = 9 2×9 = 18 3×9 = 27 4×9 = 36 5×9 = 45 6×9 = 54 7×9 = 63 8×9 = 72 9×9 = 81
7.倒立的金字塔形式输出九九乘法表:
for i in range(1,10):
for k in range(1,i):
print(end=" ")#此处8个空格
for j in range(i,10):
print(f"{j}×{i} = {i * j}", end=" ")#此处8个空格
print(" ")
print("\n")
复制代码
运行结果如下:
1×1 = 1 2×1 = 2 3×1 = 3 4×1 = 4 5×1 = 5 6×1 = 6 7×1 = 7 8×1 = 8 9×1 = 9
2×2 = 4 3×2 = 6 4×2 = 8 5×2 = 10 6×2 = 12 7×2 = 14 8×2 = 16 9×2 = 18
3×3 = 9 4×3 = 12 5×3 = 15 6×3 = 18 7×3 = 21 8×3 = 24 9×3 = 27
4×4 = 16 5×4 = 20 6×4 = 24 7×4 = 28 8×4 = 32 9×4 = 36
5×5 = 25 6×5 = 30 7×5 = 35 8×5 = 40 9×5 = 45
6×6 = 36 7×6 = 42 8×6 = 48 9×6 = 54
7×7 = 49 8×7 = 56 9×7 = 63
8×8 = 64 9×8 = 72
9×9 = 81
二:用循环打印金字塔
1.Low版金字塔
方式1
height = int(input("请输入行数:\n"))
for i in range(height):
for j in range(i+1):
print("* ", end='')
print("\n")
方式2
for i in range(7):
print(i*'*')
2.Low版倒三角金字塔
for i in range(7):
print((7-i)*'*')
3.正常金字塔
def pyramid(n):
for i in range(1, n):
print(' ' * (n - (i - 1)) + '*' * (2 * i - 1))
pyramid(5)
4.倒三角金字塔
def reverse_pyramid(n):
for i in range(n):
print(' ' * i + (n - 2 * i) * '*')
reverse_pyramid(5)