π ΠΠ°ΠΊ ΠΎΡΡΠ°Π·ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² Python: ΠΏΡΠΎΡΡΠΎΠΉ Π³Π°ΠΉΠ΄ + ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠ»Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π² Python ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ numpy.transpose
. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΡΠΎΠ»Π±ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΅Π΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ:
import numpy as np
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
reflected_matrix = np.transpose(matrix)
print(reflected_matrix)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ numpy
ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ transpose
Π΄Π»Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ reflected_matrix
. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΡΡΠ°Π·ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π² ΠΏΠΈΡΠΎΠ½Π΅
ΠΠ»Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π² Python ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ : ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ NumPy ΠΈ ΡΡΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ NumPy
NumPy - ΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. ΠΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ»Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ numpy.flip()
. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΠΎΡΡ, Π²Π΄ΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΡΠ°Π·ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΡΡ 0, Π° ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ - ΠΎΡΡ 1.
import numpy as np
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
reflected_matrix_horizontal = np.flip(matrix, axis=0)
reflected_matrix_vertical = np.flip(matrix, axis=1)
print("ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ:")
print(reflected_matrix_horizontal)
print("ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ:")
print(reflected_matrix_vertical)
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ matrix
ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ numpy.flip()
Π΄Π»Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π° ΡΠΊΡΠ°Π½.
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΡΠΎΡ ΠΊΠΎΠ΄, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ:
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ: [[7 8 9] [4 5 6] [1 2 3]] ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ: [[3 2 1] [6 5 4] [9 8 7]]
2. Π ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π²ΡΡΡΠ½ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ»Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΡΠΎΠΊΠΈ, Π° Π΄Π»Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ - ΡΡΠΎΠ»Π±ΡΡ.
def reflect_matrix(matrix):
rows, cols = matrix.shape
reflected_matrix = np.zeros((rows, cols), dtype=np.int)
for i in range(rows):
for j in range(cols):
reflected_matrix[i, j] = matrix[rows - i - 1, j] # ΠΡΡΠ°ΠΆΠ°Π΅ΠΌ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
return reflected_matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
reflected_matrix = reflect_matrix(matrix)
print("ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ:")
print(reflected_matrix)
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ reflect_matrix()
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±Ρ
ΠΎΠ΄Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ.
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ: [[7 8 9] [4 5 6] [1 2 3]]
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π² Python: Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ numpy.flip()
ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy ΠΈ ΡΡΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡΠΌ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°Π΄Π΅ΡΡΡ, Π΄Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ Π²Π°Ρ! Π£Π΄Π°ΡΠΈ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Python ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ!