您的当前位置:首页正文

python打印九九乘法表

2024-12-12 来源:个人技术集锦

以下是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()

这些方法都可以正确地打印出九九乘法表,但使用了不同的循环结构和数据结构。

显示全文