Предмет: Информатика, автор: karpovickonstantin

помогите пожалуйста в питоне составить рандом, матрицу и нахождение большего числа на диагонали​

Приложения:

Ответы

Автор ответа: nurasylmuzarapo
1

Ответ:

Чтобы создать правильно матрицу, необходимо заставить компилятор создать все строки в памяти как разные объекты. Для этого необходимо сначала создать пустой список, а затем в цикле добавлять к нему новые строки с помощью метода append().

Пример

N = 3

M = 2

A = []

for i in range(N):

A.append([0]*M)

сделать то же самое можно с помощью генератора

N = 3

M = 2

A = [ [0]*M for i in range(N) ]

Заполнение матрицы произвольными значениями

После создания матрицы можно заполнить ее произвольными значениями. Так как каждый элемент имеет два индекса, то необходимо использовать вложенные циклы.

for i in range(N):

for j in range(M):

A[i][j] = ...

Вывод матрицы на экран

Вариант 1. Простейший способ

Вывод матрицы в одну строку

print(A)

Минус: все элементы матрицы выводятся в одну строку, что затрудняет ее восприятие.

Вариант 2. Табличный вывод

Для обработки и вывода списка, как правило, используется два вложенных цикла. Первый цикл по номеру строки, второй цикл - по элементам внутри строки.

Для того, чтобы вывести матрицу на экран построчно, разделяя числа пробелами внутри одной строки, необходимо написать такой фрагмент:

for i in range(len(A)): # len(A) - возвращает количество строк в матрице А

for j in range(len(A[i])): # len(A[i]) - возвращает количество элементов в строке i

print(A[i][j], end = ' ')

print() # делаем переход на новую строку

То же самое, но циклы не по индексу, а по значениям списка (цикл for умеет делать перебор всех элементов в списке (массиве), строке):

for row in A: # делаем перебор всех строк матрицы A

for elem in row: # перебираем все элементы в строке row

print(elem, end = ' ')

print()

Для вывода одной строки можно воспользоваться методом join:

for row in A:

print(' '.join(list(map(str, row))))

Объяснение:

лутший ответ пж


karpovickonstantin: спасибо большое
Интересные вопросы
Предмет: Английский язык, автор: tabakslava1