如何使用嵌套列表通过Python格式化乘法表?

时间:2018-10-02 00:33:37

标签: python

我正在使用Python创建12 * 12乘法表。

表在嵌套列表multi_table中的内存中保存,其中:

  • multi_table [0] [0]包含“ X”
  • 第一行包含每个位置i的数字i
  • 第一列包含每个位置j的数字j
  • 每个产品i * j存储在multi_table [i] [j]位置。

乘法表如下图1所示。

图1:乘法表

1 个答案:

答案 0 :(得分:1)

嗯,这是什么问题?所谓格式化,是指如何生成此嵌套列表? 如果是这样,如何:

n = 12
table = [['X'] * (n+1) for _ in range(n+1)]
for i in range(1, n+1):
    table[i][0] = i
    for j in range(1, n+1):
        table[0][j] = j
        table[i][j] = i*j
table

[['X', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
 [1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
 [2, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24],
 [3, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36],
 [4, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48],
 [5, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60],
 [6, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72],
 [7, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84],
 [8, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96],
 [9, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108],
 [10, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
 [11, 11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 121, 132],
 [12, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144]]