我不需要答案,只要可能就可以了。
我制作了一个可打印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
答案 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
,因此我认为实际上并不需要该变量。