Ответы и решения урока 4.4(Матрицы. Часть 1) на курс «Поколение Python: курс для продвинутых»
Какова размерность матрицы
matrix
?matrix = [[45, 4, 77],
[41, 7, 17]]
2×3
Что покажет приведенный ниже фрагмент кода?
matrix = [[1, 2, 8, 0],
[-4, 1, 9, 4],
[41, 71, 2, -2]]
print(matrix[2][3])
−2
Что покажет приведенный ниже фрагмент кода?
n = 3
a = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
for i in range(n):
for j in range(n):
print(a[i][j], end=’ ‘)
print()
1 2 3
4 5 6
7 8 9
Что покажет приведенный ниже фрагмент кода?
n = 3
a = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
for i in range(n):
for j in range(n):
print(a[j][i], end=’ ‘)
print()
1 4 7
2 5 8
3 6 9
Что покажет приведенный ниже фрагмент кода?
n = 3
a = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
for i in range(n):
for j in range(n):
print(a[n — i — 1][n — j — 1], end=’ ‘)
print()
9 8 7
6 5 4
3 2 1
Что покажет приведенный ниже фрагмент кода?
n = 5
a = [[19, 21, 33, 78, 99],
[41, 53, 66, 98, 76],
[79, 80, 90, 60, 20],
[33, 11, 45, 67, 90],
[45, 67, 12, 98, 23]]maximum = -1
minimum = 100for i in range(n):
if a[i][i] > maximum:
maximum = a[i][i]
if a[i][n — i — 1] < minimum:
minimum = a[i][n — i — 1]
print(minimum + maximum)
101
На вход программе подаются два натуральных числа nn и mm, каждое на отдельной строке — количество строк и столбцов в матрице. Далее вводятся сами элементы матрицы — слова, каждое на отдельной строке; подряд идут элементы сначала первой строки, затем второй, и т.д.
Напишите программу, которая сначала считывает элементы матрицы один за другим, затем выводит их в виде матрицы.
m, n, matrix = int(input()), int(input()), []
for i in range(m):
matrix.append([input() for _ in range(n)])
print(*matrix[i])
На вход программе подаются два натуральных числа nn и mm, каждое на отдельной строке — количество строк и столбцов в матрице. Далее вводятся сами элементы матрицы — слова, каждое на отдельной строке; подряд идут элементы сначала первой строки, затем второй, и т.д.
Напишите программу, которая считывает элементы матрицы один за другим, выводит их в виде матрицы, выводит пустую строку, и снова ту же матрицу, но уже поменяв местами строки со столбцами: первая строка выводится как первый столбец, и так далее.
n, m = int(input()), int(input())
matrix = [[input() for _ in range(m)] for i in range(n)]
for i in matrix:
print(*i)
print()
for i in range(m):
for j in range(n):
print(matrix[j][i], end=' ')
print()
Следом квадратной матрицы называется сумма элементов главной диагонали. Напишите программу, которая выводит след заданной квадратной матрицы.
res = 0
for i in range(int(input())):
res += int(input().split()[i])
print(res)
Напишите программу, которая выводит количество элементов квадратной матрицы в каждой строке, больших среднего арифметического элементов данной строки.
n = int(input())
l = [input().split() for _ in range(n)]
counter = 0
for i in l:
sr = (sum(list(map(int, i)))) / len(i)
for j in i:
if int(j) > sr:
counter += 1
print(counter)
counter = 0
Напишите программу, которая выводит максимальный элемент в заштрихованной области квадратной матрицы.
n = int(input())
arr = []
mtr = [[int(i) for i in input().split()] for j in range(n)]
for i in range(n):
for j in range(n):
if i >= j:
arr.append(mtr[i][j])
print(max(arr))
Напишите программу, которая выводит максимальный элемент в заштрихованной области квадратной матрицы.
n = int(input())
s = []
for i in range(n):
f = [int(i) for i in input().split()]
for j in range(len(f)):
if (i >= j and i <= n - 1 -j) or (i <= j and i >= n - 1 -j) or (i == j) or (i + j + 1 == n):
s.append(f[j])
print(max(s))
Квадратная матрица разбивается на четыре четверти, ограниченные главной и побочной диагоналями: верхнюю, нижнюю, левую и правую.
Напишите программу, которая вычисляет сумму элементов: верхней четверти; правой четверти; нижней четверти; левой четверти.
n = int(input())
matrix = [[int(el) for el in input().split()] for _ in range(n)]
left = sum([sum([matrix[i][j] for j in range(n) if i > j and i < n-1-j]) for i in range(n)])
down = sum([sum([matrix[i][j] for j in range(n) if i > j and i > n-1-j]) for i in range(n)])
up = sum([sum([matrix[i][j] for j in range(n) if i < j and i < n-1-j]) for i in range(n)])
right = sum([sum([matrix[i][j] for j in range(n) if i < j and i > n-1-j]) for i in range(n)])
print(f"""Верхняя четверть: {up}
Правая четверть: {right}
Нижняя четверть: {down}
Левая четверть: {left}""")
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
n = int(input())
matrix = [list(map(int, input().split())) for _ in range(n)]
top_sum = 0
right_sum = 0
bottom_sum = 0
left_sum = 0
for i in range(n):
for j in range(n):
if i < j and i + j < n — 1: # верхняя четверть
top_sum += matrix[i][j]
elif i < j and i + j > n — 1: # правая четверть
right_sum += matrix[i][j]
elif i > j and i + j > n — 1: # нижняя четверть
bottom_sum += matrix[i][j]
elif i > j and i + j < n — 1: # левая четверть
left_sum += matrix[i][j]
print(«Верхняя четверть:», top_sum)
print(«Правая четверть:», right_sum)
print(«Нижняя четверть:», bottom_sum)
print(«Левая четверть:», left_sum)
# put your python code here
result = []
n = int(input())
for i in range(1, n + 1):
line = list(map(int, input().split()))
temp = 0
if i <= n // 2 + 1:
temp = i
else:
temp = abs(i — n — 1)
result += (line[:temp] + line[-temp:])
print(max(result))