See More

#Для начала попробую создать список и просумировать его по циклу a = [[1,2,3,4], [5],[6,7],[8,9]] s = 0 # Переменная глобальная в которую будем записывать сумму for row in a: # Выберется [1,2,3,4] for elem in row: #Выберем первый элем списка [1,2,3,4] s += elem print(s) # ---------------------------------------------------------------------- # Пример 2 # ---------------------------------------------------------------------- #Creating a empty list of n elements, each will be a list. #Consisting of m zeros n = 3 #global variables m = 4 a = [[0] * m for i in range(n)] #Коменты для себя #Грубо говоря, как я понимаю. Обчный цикл фор. Умножаем "0 на м" #Циклом прогоняем "итую" переменную в диапазоне "н".В итоге на выходе список в списке #двумерный массив. print(a) #[[0,0,0,0],[0,0,0,0],[0,0,0,0]] так как н равно 3. считаем с 0. 0 1 2 #---------------------------------------------------------------------- # Пример 3 #---------------------------------------------------------------------- # Погуглил и нашел второй вариант n = 3 #global variables m = 4 a = [] # empty list for i in range(n): a.append([0] * m) #Для "и" в диапазоне "н" то есть до 3 #запиши в пустой список нули умноженные на переменную "м" #Если вывести то будет двумерный массив с 4мя нулями #---------------------------------------------------------------------- # Пример 4 #---------------------------------------------------------------------- # Пример с интернета. Хочу понять как работает все #Функции - input. Ввод данных #Методы: append - добавление єлем. в конец списка a[], #split - разбиваем строку. n = int(input()) #считываем строку, преобразовываем в числовое значение a = [] # пустой список for i in range(n): #для "и" в пределах "н", а н у нас это значения которые введет человек a.append([int(j) for j in input().split()]) #добавь в конец списка целлочисл. значнение j # и выведи его в строку(так как цикл фор) #и разбей с помощью метода split #---------------------------------------------------------------------- # Пример 5 #---------------------------------------------------------------------- # print('Enter the numbers?') n = int(input()) a = [] for i in range(n): row = input().split() for i in range(len(row)): row[i] = int(row[i]) a.append(row) print(a) # Второй способ при помощи генератора n = int(input()) a = [[int(j) for j in input().split()] for i in range(n)] #---------------------------------------------------------------------- # Пример 6 #---------------------------------------------------------------------- #Вывести 1 по диагонале n = 4 a = [[0] * n for i in range(n)] for i in range(n): for j in range(n): if i < j: a[i][j] = 0 elif i > j: a[i][j] = 2 else: a[i][j] = 1 for row in a: print(' '.join([str(elem) for elem in row])) #Вроде понял как работает код, посмотрю как можно улучшить. Другие варинаты. # Цикл для задания 1(еденичек) for i in range(n): a[i][i] = 1 #-------------------------------------------------------- # Вторая задача из файла #-------------------------------------------------------- #Write matrix m * n, k - element wich will be initialized (number, or letter) # matrix = [[1,2,3,4], [1,2,3,4], [1,2,3,4]] # for row in matrix: # for i in row: # print(i) # Алгоритм: # Задаем пустой список - матрица[] # Цикл фор в дипазоне от(0 до 5,6,7 и тд) # Запиши в матрицу, в конец массива (append ["0"] * 3) # # Объявдяем функцию, аргумент у нее(список - матрица) # Цикл фор для подстрок в спике "матрица" # выведи подстроки разделенные пробелом # " ".join(матрица) def generate_list(m, k): result = [] for i in range(m): result.append(k) return result #Test values generate_list(10,-1) generate_list(9,3) #Our function wich creates and initializes matrix def generate_matrix(m, n, k): result = [] for i in range(m): result.append([k]*n) return result print(generate_matrix(2, 3, -1)) # initializing(defining) matrix def generate_matrix(m, n, k): return generate_list(m, generate_list(n, k)) print(generate_matrix(2,3,-1))