Python 此代码适用于平方矩阵,但对其他矩阵显示错误
方形矩阵的输出:Python 此代码适用于平方矩阵,但对其他矩阵显示错误,python,list,matrix,Python,List,Matrix,方形矩阵的输出: 输入行数:2 输入列数:2 [[0, 0], [0, 0]] 在矩阵中输入元素:1 在矩阵中输入元素:2 在矩阵中输入元素:3 在矩阵中输入元素:4 [[1, 2], [3, 4]] 非平方矩阵的误差: 输入行数:1 输入列数:4 [[0], [0], [0], [0]] 在矩阵中输入元素:1 在矩阵中输入元素:2 回溯(最近一次呼叫最后一次): 文件“C:/Users/kcgov/PycharmProjects/making_matrix/creating_a_matrix
输入行数:2
输入列数:2
[[0, 0], [0, 0]]
在矩阵中输入元素:1
在矩阵中输入元素:2
在矩阵中输入元素:3
在矩阵中输入元素:4
[[1, 2], [3, 4]]
非平方矩阵的误差:
输入行数:1
输入列数:4
[[0], [0], [0], [0]]
在矩阵中输入元素:1
在矩阵中输入元素:2
回溯(最近一次呼叫最后一次):
文件“C:/Users/kcgov/PycharmProjects/making_matrix/creating_a_matrix.py”,第10行,在
新矩阵()
文件“C:/Users/kcgov/PycharmProjects/making_matrix/creating_a_matrix.py”,第8行,在新矩阵中
矩阵[k][p]=int(输入(“在矩阵中输入元素:”)
索引器:列表分配索引超出范围
您需要在矩阵初始化中切换带列的行,还需要切换循环范围,第一个循环必须遍历行,而第二个循环必须遍历每行中的列:
def new_matrix():
Rows=int(input("enter number of rows:"))
columns=int(input("enter number of columns:"))
matrix=[[0]*Rows for _ in range(columns)]
print (matrix)
for k in range (columns):
for p in range(Rows):
matrix[k][p]=int(input("Enter elements in matrix:"))
print (matrix)
new_matrix()
测试用例#1:(方阵,行=列)
测试用例#2:(行<列)
测试用例#3:(行>列)
我不能重现你的错误。这对我来说很有效。我也没有错,但很明显,你已经颠倒了“行”和“列”的标准含义。@MrGeek Oops…@KrishnaChaitanya作为这篇文章的作者,你可以接受最好的答案,这是最有帮助的答案,勾选投票下面的复选标记,使其变为绿色。
def new_matrix():
Rows=int(input("enter number of rows:"))
columns=int(input("enter number of columns:"))
# columns, Rows
matrix=[[0]*columns for _ in range(Rows)]
print (matrix)
# Rows, columns
for k in range(Rows):
for p in range(columns):
matrix[k][p]=int(input("Enter elements in matrix:"))
print (matrix)
new_matrix()
enter number of rows: 2
enter number of columns: 2
[[0, 0], [0, 0]]
Enter elements in matrix: 1
Enter elements in matrix: 2
Enter elements in matrix: 3
Enter elements in matrix: 4
[[1, 2], [3, 4]]
enter number of rows: 1
enter number of columns: 4
[[0, 0, 0, 0]]
Enter elements in matrix: 1
Enter elements in matrix: 2
Enter elements in matrix: 3
Enter elements in matrix: 4
[[1, 2, 3, 4]]
enter number of rows: 4
enter number of columns: 1
[[0], [0], [0], [0]]
Enter elements in matrix: 1
Enter elements in matrix: 2
Enter elements in matrix: 3
Enter elements in matrix: 4
[[1], [2], [3], [4]]