PYTHON все в 1 меню
import numpy as np
def print_matrix(matrix):
print("\nТекущая матрица:")
print(matrix)
def find_and_replace_min(matrix):
min_index = np.unravel_index(np.argmin(matrix), matrix.shape)
matrix[[0, min_index[0]]] = matrix[[min_index[0], 0]]
print("\nМатрица после замены строки с минимальным элементом:")
print_matrix(matrix)
def move_max_to_top_left(matrix):
max_index = np.unravel_index(np.argmax(matrix), matrix.shape)
if max_index[0] != 0:
matrix[[0, max_index[0]]] = matrix[[max_index[0], 0]]
if max_index[1] != 0:
matrix[:, [0, max_index[1]]] = matrix[:, [max_index[1], 0]]
print("\nМатрица после перемещения наибольшего элемента:")
print_matrix(matrix)
def count_special_elements(matrix):
def is_special_element(i, j):
element = matrix[i][j]
neighbors = [matrix[i + di][j + dj]
for di in [-1, 0, 1] for dj in [-1, 0, 1]
if (di != 0 or dj != 0) and (0 <= i + di < M) and (0 <= j + dj < N)]
return all(element > neighbor for neighbor in neighbors)
special_count = sum(is_special_element(i, j) for i in range(M) for j in range(N))
print(f"\nКоличество 'особых' элементов: {special_count}")
M, N = 4, 5
matrix = np.random.randint(0, 100, (M, N))
print("Исходная матрица:")
print_matrix(matrix)
while True:
print("\nВыберите действие:")
print("1. Найти минимальный элемент и поменять строку с первой строкой")
print("2. Переместить наибольший элемент в верхний левый угол")
print("3. Определить количество 'особых' элементов")
print("4. Выход")
choice = input("Введите номер действия (1-4): ")
if choice == '1':
find_and_replace_min(matrix)
elif choice == '2':
move_max_to_top_left(matrix)
elif choice == '3':
count_special_elements(matrix)
elif choice == '4':
break
else:
print("Неверный ввод! Пожалуйста, выберите номер от 1 до 4.")