【发布时间】:2021-08-24 06:34:47
【问题描述】:
我试图通过查看这段代码来理解一些 Python 关键字和函数的作用,该代码接受矩阵并在所述矩阵中添加数字,但我在理解其中一些代码行的含义时遇到了一些麻烦。对于像我这样的编程新手来说,一个易于理解的解释会很有帮助。
这里是代码。
# input operation
op = input("Enter operation : ")
#if operation is addition
if(op == "add"):
# A and B for two matrix
A = []
B = []
#input dimensions for A matrix,
A_row, A_col = input("Dimension for matrix A : ").split()
#convert dimensions to int type
A_row = int(A_row)
A_col = int(A_col)
#input, elements of matrix A
for i in range(A_row):
# input rows wise
print("Enter elements for row", i+1)
row = list(map(int, input().split()))[:A_col]
#append row to matrix A
A.append(row)
#input, dimension for matrix B
B_row, B_col = input("Dimension for matrix B : ").split()
#convert to increate a matt type
B_row = int(B_row)
B_col = int(B_col)
#input for matrix B, elements
for i in range(A_row):
print("Enter elements for row", i+1)
row = list(map(int, input().split()))[:B_col]
B.append(row)
#create a matrix for result with 0 of size of matrix A size
result = [([0]*A_col) for i in range(A_row)]
# loop and do addition of A and b , store to result matrix
for i in range(A_row):
for j in range(A_col):
result[i][j] = A[i][j] + B[i][j]
#print result
print("result")
for row in result:
for x in row:
print(x, end=' ')
print()
#if operation is not valid
else:
print("Invalid operation")
我的问题:
-
row = list(map(int, input().split()))[:A_col]末尾的那个[:A_col]是什么目的? - 现在这才是我真正感到困惑的地方。之后来自
result的一切对我来说似乎是模糊的。尤其是result = [([0]*A_col) for i in range(A_row)]。那条特定的行是什么意思,它在这段代码中的目的到底是什么?放在它上面的评论并没有真正帮助我。
我知道括号运算符的作用,但我不明白 [:A_col] 在 row = list(map(int, input().split()))[:A_col] 末尾的用途。
【问题讨论】:
-
这不是关于你的一个问题,而是关于代码的另一部分:
if不是一个函数,不应该被这样对待(带括号)。所以if(op == "add"):应该是if op == "add":。