Python 3,使用While循环的带2D列表的乘法表

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (65)

我不需要答案,如果可能的话,只需要一个跳跃点。

我已经制作了一张打印1-10的乘法表,但我的教授希望看到该表存储在2D列表中。我有我当前的代码(工作代码,这里发布),以及我为“2D List”版本专门制作的新代码,但我也无处可去。

编辑:我应该澄清代码正在做我想要它做的事情,即输出乘法表,但我无法将其转换为2D列表。

#Initial list and global variables
MT = ["X", 1, 2, 3, 4, 5, 6, 7, 8, 9 ,10]
mult = 1
jump = 0
repeat = 1
list = 1

while repeat < 12:
    index = 1
    mult = 1
    jump += 1
    MT.append(MT[list])
    while (index < 11):
        MT.append(mult * jump)
        mult += 1
        index += 1
    else:
        repeat += 1
        list += 1
else:
    print("Multiplication Table:")
    index = 0
    while (index < 121):
        if (((index + 1) % 11) != 0):
            print(MT[index], end = "\t")
        else:
            print(MT[index], end = "\n")
        index += 1
提问于
用户回答回答于

我的第一个建议是从2D列表开始:

MT = [["X", 1, 2, 3, 4, 5, 6, 7, 8, 9 ,10]]

而不是你拥有的。

在内部while循环之前启动一个新的空列表。您可以使用第一个值初始化它new_row = [repeat]。在那个循环内部附加到new_row而不是MT

在完成循环之后,您可以追加new_rowMT

MT.append(new_row)

这应该让你开始使用2d列表。但是,虽然我有你在这里...

如果你需要重复并记录你重复的次数,那么使用for循环而不是while循环。

例如,如果您想要一个从2到12的循环,您将使用:

for repeat in range(2, 13):
    print(repeat)

此外,永远不要覆盖内置关键字,因为这可能会导致意外行为。所以list说出别的东西,但我不认为变量是真的需要,因为它类似于repeat

扫码关注云+社区

领取腾讯云代金券