Консультация № 197403
13.12.2019, 18:33
0.00 руб.
1 1 1
Здравствуйте! Прошу помощи в следующем вопросе:
Переведите пожалуйста в Python
За ранее благодарю
Прикрепленные файлы:
863e782debb8e0546306eb7788faaf2d9471e7bf.docx

Обсуждение

давно
Старший Модератор
312929
1973
23.12.2019, 17:50
общий
это ответ
Здравствуйте, lidaskin@gmail.com!

Здесь проще будет написать нужные программы на Python заново, поскольку он довольно сильно отличается от Pascal, и во многих случаях код будет намного компактнее. Например, подсчёт средних арифметических для строк матрицы обеспечивает следующая небольшая программа:
[code lang=python]# coding: cp1251
n, m = map(int, input("Введите число строк и столбцов (через пробел): ").split())
print("Введите матрицу:")
a = [[float(x) for x in input().split()] for i in range(n)]
b = [sum(a[i])/len(a[i]) for i in range(n)]
print("Результат: ", *b)[/code]
а для поиска в квадратной матрице строк, содержащих только чётные элементы, подйдёт программа:
[code lang=python]# coding: cp1251
n = int(input("Введите размер матрицы: "))
print("Введите матрицу:")
M = [[int(x) for x in input().split()] for i in range(n)]
N = [i for i in range(n) if all(x%2==0 for x in M[i])]
print("Строки с чётными элементами:", *N)[/code]
И на всякий случай - программа для решения первой задачи:
[code lang=python]# coding: cp1251
def is_max(a, i, j):
return all(a[k][l]<a[i][j] for (k,l) in [(n//len(a[i]),n%len(a[i])) for n in range(len(a[i])*len(a)) if abs(n%len(a[i])-j)<=1 and abs(n//len(a[i])-i)<=1 and abs(n%len(a[i])-j)+abs(n//len(a[i])-i)>0])
n, m = map(int, input("Введите число строк и столбцов (через пробел): ").split())
print("Введите матрицу:")
a = [[int(x) for x in input().split()] for i in range(n)]
b = [[int(is_max(a,i,j)) for j in range(m)] for i in range(n)]
print("Результат:")
for i in range (n):
print(' '.join(map(str,b[i])))[/code]
Форма ответа