
Короче. Вот код.
def matrix_gen(gen, n, m): Matrix = []; for i in range(n): a = []; for j in range(m): a.append(gen[j]); Matrix.append(a); return Matrix;Объяснение
Сначало ты инициализируешь функицю с названием "matrix_gen", которая принимает 3 параметра, 'gen' -- это генератор которые ты будешь использовать. 'n' & 'm' это размер матрицы.
Второй строчкой ты инициалихируешь пустой массив, которые похже заполнишь. Третей строчкой ты в for цикле обходишь все строки матрицы, они же подмассивы массива Matrix, просто 'a'. Делаем мы это 'n' раз.
Четвётрой строчкой ты инициализируешь массив(ы, мы в цикле) 'a', и следующей строчкой заполняешь уже его. Так же в for цикле. Всего в нём будет 'm' элементов.
Надеюсь решение правильное. Честно говоря у тебя вопрос очень странно поставлен.
Начнём с самого главного
Переменная - "шкатулка", в которую можно что-то положить. Так вот мы туда кладём данные. Это цифры, буквы и значения "правда" и "ложь"
Мы можем выделить несколько самых главных типов данных:
1. Integer (или int в некоторых языках) - Целочисленный тип. Он позволяет нам положить в "шкатулку" только целые числа. Это 1, 2, 25, 17, 1327539 и другие. (Но туда нельзя класть дробные числа, такие как 2.15; 3.14 и другие. Для них есть другой тип данных.)
2. Real (в некоторых языках программирования Float) - вещественный тип данных. Вот именно туда мы кладем числа со знаками после запятой. Например: 3.14; 125.126; 77.66 и другие. В них также можно хранить целые числа, но это нежелательно. Если у вас только целые, то используйте integer.
3. String - строка. Здесь можно писать любые символы, слова, предложения и любые наборы символов. Здесь есть важное правило: все знаки пишутся в кавычках "". Например:
b := "Hello"; (Знак := находится в Pascal, в большинстве языков обычное равно)
4. Boolean, или Булево значение - это логические "истина" и "ложь". Они записываются так:
1) True - истина
2) False - ложь.
Их можно использовать в условиях. Например, если x>5 то b:= true;
На самом деле типов данных очень много, но эти используются больше всего.
Если будет интересно - поищите в Интернете типы данных и почитайте :)
Теперь поговорим о знаках препинания.
В конце каждой команды мы должны ставить точку с запятой ;
Она даёт понять компьютеру, что мы закончили одну команду и идём к другой
Ведь если бы мы записали:
b:= 5
a:= 3, то компьютер бы понял это так: b:= 5a:=3;
Благо в настоящее время большинство языков уже выдаёт пользователю ошибку, чтобы он исправил это.
Все команды отделяются друг от друга точкой с запятой, но также есть исключения
Рассмотрим на языке Pascal (просто я больше базируюсь в этом объяснении под него):
Напишем оператор условия if:
if b=3 then z:=5;
Здесь всё хорошо и запятая не требуется.
Но если мы добавим отрицательную ветку (действия, если условие не выполнилось), то будет так:
if b=3 then z:=5;
else z:=7;
Здесь мы поставили после 5 точку с запятой. Компьютер не поймёт запись else, т.к. она отгорожена от условия точкой с запятой. Поэтому после пятёрки мы не ставим запятую (но поставить после семёрки обязаны):
if b=3 then z:=5
else z:=7;
Двоеточие мы ставим перед равно для того, чтобы полностью написать знак "присваивания". В Паскале он обозначает то, что мы переменной присваиваем определённое значение. Если бы мы поставили просто равно, то это было бы как сравнивание. Поэтому нужно просто запомнить, что там ты ставим двоеточие. (но в условиях мы пишем просто равно)
Надеюсь было понятно объяснено. Если остались вопросы - задавайте. Точка с запятой ставится не только в if, но и в других операторах.