내 코드는 다음을 수행합니다. N * N 행렬 파일을 읽습니다. 제 matrix.txt 파일목록 정수 인덱스를 조작 할 수 없습니다.
2 3 4
1 2~6
9 8 9
이고리스트 정수 [2,3,4], [1로 변환 2,6], [9,8,9]]
그러면 은 반전 될 때 내부 값을 색인 값으로 이동하여 내부 값을 변환합니다. 예 : [1] [0] = 1이므로 list [0] [1]의 값은 3에서 1로 변경되고 [1] [0]의 값은 1에서 3으로 변경됩니다.
이렇게하면 행렬을 이항시킨 후의 최종 출력은 모든 값을 뒤집은 후에
[[2,1,9], [3,2,8], [4,6,9]]가되어야합니다.
[0] [0] 또는 [1] [1] 또는 [2] [2]와 색인이 동일하면 아무 일도 일어나지 않습니다.
다음은 내 코드입니다. 거기에 내 스와핑 알고리즘에 문제가 있다고 생각되면 최종 결과를 얻을 수 없으므로 도움을 받으실 수 있습니다.
file =(input("Enter the filename: "))
f = open(file)
matrix = []
for line in f:
line = line.strip()
line = line.split()
if line:
for x in range(len(line)):
line[x] = int(line[x])
matrix.append(line)
transpose = []
for x in range(len(matrix)):
transpose.append([])
bob = transpose[x]
for y in range(len(bob)):
temp = 0
temp = matrix[x][bob[y]]
matrix[x][bob[y]] = matrix[y][bob[x]]
matrix[y][bob[x]] = temp
print(matrix)
print(transpose)
무엇이 문제입니까? 코드가 작동합니까? 그것은 무엇을 /하지 않는가 올바르지 않은가? 예제 입력에 대해 예상되는 결과는 무엇입니까? – wwii
"목록 [0] [1]의 값이 2에서 1로 변경되어야합니다."3에서 1로 변경되지 않습니까? –
예, 맞습니다. 3에서 1로 바뀌어야합니다. 약간 미안합니다. 그리고 내 질문은 최종 출력을 얻을 수 없기 때문에 스와핑 알고리즘을 수정하는 방법입니다. –