Python

Помогите решить Python!!!!

С клавиатуры вводится вещественная матрица А NxN (N<=40).
1. Найти максимальный элемент под главной диагональю.
2. Найти номер столбца первого элемента, равного нулю.
3. Найти минимальный элемент к-го столбца матрицы.
4. Переставить местами k-ый и l-ый столбцы матрицы.
5. Найти произведение элементов на главной и побочной диагоналях матрицы.
6. Отсортировать побочную диагональ по возрастанию элементов.
7. Поменять местами минимальный и максимальный элементы матрицы.
8. Составить одномерный массив из средних арифметических значений положительных элементов четных столбцов матрицы.
Здравствуйте, Дим!
Вот ответ для Вас от меня:
1. В виде одного файла
2. Ниже - в виде текста
  
N = int(input("N="))

# Ввожу матрицу вещественных чисел
A = []
for y in range(N):
A = A + [[]] # Добавляю новую строку в матрицу
for x in range(N):
f = float(input("A["+str(y)+"]["+str(x)+"]="))
A[y] = A[y]+[f]

# Вывожу матрицу на экран
print("Исходная матрица:")
for y in range(N):
for x in range(N):
print("\t",A[y][x],end="")
print()

# Ищу максимальный элемент под главной диагональю
max_A = 0
for y in range(N):
for x in range(N):
if y>x and A[y][x]>max_A: # Если y>x - тогда A[y][x] находится под главной диагональю
max_A = A[y][x]
print("1.Максимальный элемент под главной диагональю:",max_A)

# Ищу номер первого столбца, в котором есть нулевой элемент
finded_zero = False # Признак, что найден нулевой элемент
num_col_zero = -1 # Номер столбца с нулевым элементом
for x in range(N):
for y in range(N):
if A[y][x] == 0:
# Нашёл столбец с нулевым элементом
num_col_zero = x
finded_zero = True
break # Выхожу из цикла
if finded_zero:
break
if finded_zero:
print("2.Номер столбца первого элемента, равного нулю:",num_col_zero+1)
else:
print("2.Элемент, равный нулю, не найден.")

# Ищу минимальный элемент k-го столбца
k = int(input("Введите номер столбца k="))
min_A_k = A[0][k-1]
for y in range(N):
if A[y][k-1]
Orxan Veliyev
Orxan Veliyev
11 615
Лучший ответ
Orxan Veliyev
 продолжение...

# Сортирую элементы побочной диагонали матрицы
for i in range(N):
for k in range(i+1,N):
if A[N-1-i][i]>A[N-1-k][k]:
buf = A[N-1-i][i]
A[N-1-i][i] = A[N-1-k][k]
A[N-1-k][k] = buf

print("6.Отсортировал элементы побочной диагонали матрицы:")
for y in range(N):
for x in range(N):
print("\t",A[y][x],end="")
print()

# Ищу максимальный и минимальный элементы матрицы
# Для начала максимальным и минимальным элементом матрицы считаю самое первое число в матрице
A_max = A[0][0]
A_min = A[0][0]
for y in range(N):
for x in range(N):
if A[y][x] > A_max:
A_max = A[y][x]
if A[y][x] < A_min:
A_min = A[y][x]

далее - ещё в комментарии
Orxan Veliyev
 # Заменяю максимальный элемент матрицы на минимальный и минимальный на максимальный   
for y in range(N):
for x in range(N):
if A[y][x] == A_max:
A[y][x] = A_min
elif A[y][x] == A_min:
A[y][x] = A_max

# Вывожу матрицу на экран
print("7.Поменял местами максимальный и минимальный элементы матрицы:")
for y in range(N):
for x in range(N):
print("\t",A[y][x],end="")
print()

дальше - в следующем комментарии
Orxan Veliyev
 # Вычисляю среднее арифметическое в столбцах с чётными номерами для положительных    
# элементов матрицы
array = []
for x in range(1,N,2):
summ = 0 # Для начала сумма равна нулю
for y in range(N):
if A[y][x] > 0:
summ = summ + A[y][x]
average = summ / N # Вычисляю среднее арифметическое
array.append(average) # Добавляю в массив среднее арифметическое

print("8.Одномерный массив из средних арифметических значений положительных элементов четных столбцов матрицы:",array)
Виктор Шаров Спасибо огромное)))))
Найди минимальньіе наведения , там есть весь алгоритм