НЕ ПОНИМАЮ, ПОЧЕМУ A_T1 и A_T2 ОБРАБАТЫВАЮТСЯ ПО-РАЗНОМУ!!!!!!!

Shuraga

Новичок
Пользователь
Июн 30, 2023
1
0
1
# Транспонирование произвольной матрицы - 14
# - ДВЕ ЗАГОТОВКИ - ОДНА ЗАДАЁТСЯ ВРУЧНУЮ, ДРУГАЯ СОЗДАЁТСЯ средствами Python.

# A - заданная матрица, которую нужно транспонировать.

A = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]

# m - количество строк в матрице A (в данном случае m = 3 строки),
# n - количество столбцов в матрице A (в данном случае n = 4 столбца),
# A - матрица размера m*n (в данном случае: 3*4).
m = len(A)
n = len(A[0])

# A_T1 и A_T2 - матрицы-заготовки для построения транспонированной матрицы А, состоящие изначально из нулей.
# Впоследствии A_T1 и A_T2 будут заполняться соответствующими элементами матрицы А.

# НЕ ПОНИМАЮ, ПОЧЕМУ A_T1 и A_T2 ОБРАБАТЫВАЮТСЯ ОДНИМ И ТЕМ ЖЕ ЦИКЛОМ ПО-РАЗНОМУ!!!!!!!

# У матриц A_T1 и A_T2 наоборот:
# n - количество строк в матрицах (в данном случае n = 4 строки),
# m - количество столбцов в матрицах (в данном случае m = 3 столбца).
# A_T1 и A_T2 матрицы размера n*m (в данном случае: 4*3).

# A_T1 - Заготовка из нулей "ручной работы":
A_T1 = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

# A_T2 - Заготовка из нулей, созданная средствами Python:
A_T2 = [[0]*m]*n

# Проверим, совпадают ли построенные матрицы A_T1 и A_T2:
if A_T1 == A_T2:
print('A_T1 == A_T2')
else:
print('A_T1 != A_T2')

print()
print(A)
print()
print(A_T1)
print()
print(A_T2)
print()

for i in range(n): # i = 0, 1, 2, 3.
for j in range(m): # j = 0, 1, 2.
print()
print('i = ', i, ', ', 'j = ', j, sep = '')
A_T1[j] = A[j]
A_T2[j] = A[j]
print('A_T1 =', A_T1)
print('A_T2 =', A_T2)
if A_T1 == A_T2:
print('A_T1 == A_T2')
else:
print('A_T1 != A_T2')

print()
print(A_T1)
print()
print(A_T2)
print()
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
если код вставите, как код, может станет яснее
 
  • Мне нравится
Реакции: 4olshoy_blen

Форум IT Специалистов