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

时间:2018-07-21 20:56:06

标签: python python-3.x

我不需要答案,只要可能就可以了。

我制作了一个可打印1-10的乘法表,但是我的教授希望看到该表存储在2D列表中。我有我当前的代码(工作代码,在这里发布),以及专门为“ 2D列表”版本制作的新代码,但是我都不知道。

编辑:我可能应该澄清一下代码是否正在执行我想要的工作,即输出一个乘法表,但是我很难将其转换为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

1 个答案:

答案 0 :(得分:0)

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

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

而不是您拥有的。

在内部while循环之前开始一个新的空列表。您可以使用第一个值new_row = [repeat]对其进行初始化。在该循环内,附加到new_row而不是MT

在完成while循环之后,您可以将new_row附加到MT

MT.append(new_row)


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

如果您需要重复并跟踪重复次数,请使用for循环而不是while循环。

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

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

此外,切勿覆盖内置关键字,因为这可能导致意外行为。因此,将list命名为其他名称,但由于它类似于repeat,因此我认为实际上并不需要该变量。