以下是Python打印九九乘法表的几种实现方法:
方法1:使用两个嵌套的for循环
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}x{i}={i*j}", end="\t")
print()
方法2:使用一个for循环和字符串拼接
for i in range(1, 10):
line = ""
for j in range(1, i+1):
line += f"{j}x{i}={i*j}\t"
print(line)
方法3:使用嵌套列表推导式和join函数
table = [f"{j}x{i}={i*j}" for i in range(1, 10) for j in range(1, i+1)]
lines = ["\t".join(table[i:i+i]) for i in range(0, len(table), i+1)]
print("\n".join(lines))
方法4:使用numpy数组和ndenumerate函数
import numpy as np
table = np.zeros((9, 9), dtype=int)
for i in range(1, 10):
for j in range(1, i+1):
table[i-1][j-1] = i * j
for (i, j), value in np.ndenumerate(table):
if j <= i:
print(f"{j+1}x{i+1}={value}", end="\t")
if j == i:
print()
方法5:使用str.format和sep参数
for i in range(1, 10):
print(*["{}*{}={}".format(j, i, i*j) for j in range(1, i+1)], sep='\t')
方法6:使用while循环
i = 1
while i < 10:
j = 1
while j <= i:
print(f"{j}*{i}={i*j}", end="\t")
j += 1
print()
i += 1
方法7:使用嵌套列表和列表解析
[[print(f"{j}*{i}={i*j}", end="\t") for j in range(1, i+1)], print()] for i in range(1, 10)]
方法8:使用itertools.product
import itertools
for i, j in itertools.product(range(1, 10), repeat=2):
if j <= i:
print(f"{j}*{i}={i*j}", end="\t")
if j == i:
print()
这些方法都可以正确地打印出九九乘法表,但使用了不同的循环结构和数据结构。