📅  最后修改于: 2023-12-03 14:46:32.546000             🧑  作者: Mango
在Python中,我们可以使用简洁的代码实现乘法表的生成。以下是使用三行代码生成乘法表的方法。
# 生成1-9乘法表
print('\n'.join([' '.join(["%2d x%2d = %2d" % (j, i, i*j) for j in range(1, i+1)]) for i in range(1, 10)]))
上述代码中,我们使用了列表推导式来生成一个包含乘法表中每一行的字符串列表,然后使用'\n'.join()
方法将其连接并输出。具体来说,我们首先使用for i in range(1, 10)
遍历乘法表的每一行,然后在每一行中使用for j in range(1, i+1)
来遍历该行中每个数字。在每个数字处,我们使用字符串格式化方法来生成该位置的字符串。最终,我们得到一个包含乘法表中每一行字符串的嵌套列表(或者说二维列表)。使用'\n'.join()
方法可以将这些字符串连接成一个字符串并输出。
# 生成1-12乘法表
print('\n'.join(['\t'.join([f'{i}x{j}={i*j}' for j in range(1, 13)]) for i in range(1, 13)]))
此代码也使用列表推导式生成一个包含乘法表中每一行的字符串列表。具体来说,我们使用for i in range(1, 13)
遍历乘法表的每一行,然后在每一行中使用for j in range(1, 13)
来遍历该行中每个数字。在每个数字处,我们使用f-string来生成该位置的字符串。最终,我们得到一个包含乘法表中每一行字符串的嵌套列表。使用'\n'.join()
方法可以将这些字符串连接成一个字符串并输出。其中,我们使用了'\t'.join()
来设置数字之间的制表符。
for i in range(1, 10):
for j in range(1, i+1):
print(f'{j}x{i}={i*j}', end='\t')
print()
上述代码中,我们使用了两个嵌套的for
循环来生成乘法表。其中,外层for
循环遍历每一行,内层for
循环遍历该行中每个数字。在内层for
循环中,我们使用f-string来生成数字相乘的结果,并将输出结果用\t
隔开。end='\t'
用于控制输出的行为。最后,我们在每一行的末尾使用print()
打印一个空行,以便在生成乘法表后空一行。