我们如何使用Python从runtim的用户那里获取值来创建一个维数为nxm的矩阵Mat

2024-09-28 05:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个阶为nxm的矩阵其中:你知道吗

接下来的N行中的每一行都包含表示矩阵的M个数字。
我实现了本文件:你知道吗

 Mat =[[],[]]
 M = int(input())
 N = int(input())
 for i in range(0,N):
     for j in range(0,M):
         Mat[i][j] = int(input())

但这会产生以下结果错误:-你知道吗

Traceback (most recent call last):
File "ust.py", line 19, in <module>
for i in range(0,N):

TypeError:“str”对象不能解释为整数`

问题是到目前为止我如何生成矩阵


Tags: 文件inmostforinput错误range矩阵
2条回答

您的回溯与您的实现不匹配。我怀疑您运行它时没有为维度变量指定int around input()。你知道吗

你的实现还有一个问题。你没有正确初始化矩阵。你知道吗

你可以用

import numpy as np
M = int(input())
N = int(input())
Mat = np.zeros((M, N))
for i in range(N):
    for j in range(M):
        Mat[i, j] = int(input())

我没有得到您所做的错误,当N是字符串而不是整数时会发生这种错误。但是,您还有另一个问题。你知道吗

您没有使用占位符初始化矩阵,而是试图访问矩阵中不存在的索引,因为它是空的。在当前声明矩阵时,您需要调用append,或者创建如下占位符:

M = int(input())
N = int(input())

Mat = [ [None] * M for _ in range(N) ]

 for i in range(0, N):
     for j in range(0, M):
         Mat[i][j] = int(input())

相关问题 更多 >

    热门问题