簡體   English   中英

我們如何使用Python在運行時從用戶獲取值來創建尺寸為N x M的矩陣墊

[英]How do we create a Matrix Mat which have dimension N x M using Python taking values from user at runtime

我想要一個階數為NXM的矩陣,其中:

接下來的N行中的每行包含M個數字,表示Mat矩陣。
我實現了這一點:

 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'對象不能解釋為整數`

所以問題是我到目前為止如何生成矩陣

我沒有得到您所做的錯誤,當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())

您的回溯與您的實現不匹配。 我懷疑您確實在維度變量的輸入()周圍沒有int的情況下運行了它。

您的實現還有另一個問題。 您沒有正確初始化矩陣。

您可以使用

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())

暫無
暫無

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

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