所以我在一个介绍课程中,我有一个作业,我必须创建一个我称之为函数make_x_table (r,c):
的乘法表,需要产生这个结果:
make_x_table(3,4):
[[1, 2, 3, 4],
[2, 4, 6, 8],
[3, 6, 9, 12]]
我的问题是,我无法使用打印功能打印单个列表,我最初在此处所做的就是make_x_table_wrong (r,c):
:
def make_x_table_wrong (r,c):
for rownum in range(1, r+1):
list_v = []
for colnum in range(1, c+1):
v = colnum*rownum
list_v.append(v)
print (list_v)
我需要能够将列表列表作为列矩阵返回。有关方法的任何帮助吗?
答案 0 :(得分:0)
在代码示例中,for rownum in range(1, r+1):
位置buff = []
以上:
buff = []
for rownum in range(1, r+1):
然后,您print(list_v)
执行以下操作:
buff.append(list_v)
然后您的代码示例将如下所示
def make_x_table_right (r,c):
buff = []
for rownum in range(1, r+1):
list_v = []
for colnum in range(1, c+1):
v = colnum*rownum
list_v.append(v)
buff.append(list_v)
return buff
有意义吗?
此外,由于你的乘法表可能是正方形,我建议只传递一个参数n
并使用n
代替r
和c
。另一件事,另一个用户发布的单行评论的列表理解也完全没问题。此外,通常将变量i
和j
用于矩阵循环标识符。所以不是rownum
而是i
和colnum
,而是j
。