如何创建一个矩阵,用户在其中输入行和列,然后在Python中输入每个位置的值?

如何创建一个矩阵,用户在其中输入行和列,然后在Python中输入每个位置的值?,python,matrix,input,row,multiple-columns,Python,Matrix,Input,Row,Multiple Columns,这应该是代码的工作方式: n = int(input()) #number of rows, for example 3 m = int(input()) #number of columns, for example 5 然后,用户将为行输入一个值,然后为列输入一个值 x = int(input()) #This should be the row number, for example row 1 y = float(input()) #This shoul

这应该是代码的工作方式:

    n = int(input()) #number of rows, for example 3
    m = int(input()) #number of columns, for example 5
然后,用户将为行输入一个值,然后为列输入一个值

    x = int(input()) #This should be the row number, for example row 1
    y = float(input()) #This should be the value for each position inside of each x.
x和y都需要遵循某些条件,所以我将它们分开。理论上应该是这样的:

    matrix = [ [0.4], [0.3, 0.2, 0.5], [0.7] ] #Row 1 has 1 float, Row 2 has 3 float and Row 3 only 1
一些浮点将进入不同的行,比如第1行可以有来自输入的三个浮点,另一行(第3行)可以有来自输入的5个浮点

我已尝试使用以下循环:

    for i in range(n): #I have tried multiple ways using len function, append function, etc.
        for j in range(m):
但我似乎无法分配矩阵上的每个值,因为我必须确保输入符合某些条件,因为程序应该读取与te变量“m”一样多的不同浮点数


我之所以以这种方式详细说明代码,是因为我必须根据从浮点输入中获得的不同值计算平均值(在不同的函数中),使它们通过我以前已经做过的公式。

据我所知,这应该大致满足您的需要:

row\u input\u count=int(输入(“请输入要输入的行数:”)
column\u count=int(输入(“请输入列数:”)
矩阵=[]
对于范围内的(行输入计数):
行索引=-1
当行索引<0时:
行索引=int(输入(f“请选择一行:”)
矩阵=矩阵+[[0]*列计数]*(行索引+1-列(矩阵))
值=[0]*(列计数+1)
而len(值)>列计数:
value_string=input(f“请为{row_index}行输入至多{column_count}个值:”)
values=[value_string.split()中x的浮点(x)]
值=值+[0]*(列计数-列(值))
矩阵[行索引]=值
打印(“生成的矩阵:[”)
对于矩阵中的行:
打印(行)
打印(“]”)
这是否有助于您了解您已经了解的部件如何协同工作?我觉得应该都比较容易读。Python用于在列表中重复元素的语法可能有点奇怪:

>>[“你好”]*3
['hi','hi','hi']

如果用户必须在开始时输入
m
,列数,怎么可能有些行有更多的列?
m
应该是每行的最大列数吗?嘿@He3lixxx,谢谢你的回复!在这种情况下,
m
变成用户将要输入的
y
输入量。因此,如果
m=5
则将有5个不同的
y
输入,每个输入分配给由
n
数量确定的行号。我猜每个栏上的其他位置可能是0。非常感谢@He3lixxx,我将把它与我所拥有的结合起来,看看它是否有效。我的意思是它应该,只要试一下它就会输出矩阵。现在我需要调整它,因为输入在同一行中,需要有特定的条件。再次感谢你的帮助!