簡體   English   中英

Python 3,使用While循環的帶有2D列表的乘法表

[英]Python 3, Multiplication Table with 2D List using While Loops

我不需要答案,如果可能的話,只是一個起點。

我已經制作了一個可打印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

我的第一個建議是從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相似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM