Питон хард. 8-3py_Хард. 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов
Скачать 5.26 Mb.
|
Создание массиваA = [11, 22, 35, 41, 53]
A = [11, 22] + [35, 41] + [53]
A = [11]*5 Что неверно?A = [1, 2, 3, 4, 5] x = 1 print( A[x-8] ) A[x+4] = A[x-1] + A[2*x] print( A[-7] ) A[5] = A[0] + A[2] Что плохо? ? Выход за границы массива — это обращение к элементу с индексом, который не существует в массиве. Перебор элементов массиваПеребор элементов: просматриваем все элементы массива и, если нужно, выполняем с каждым из них некоторую операцию. N = 10 A = [0]*N # память уже выделена for i in range(N): # здесь работаем с A[i] Заполнение массиваfor i in range(N): A[i] = i
В развёрнутом виде A[0] = 0 A[1] = 1 A[2] = 2 ... A[N-1] = N-1 0 1 2 N-1 Что произойдёт? ? [0, 2, 3, …, N-1] В стиле Python: A = [ i for i in range(N) ] i i X = N
A[0] = N A[1] = N-1 A[2] = N-2 ... A[N-1] = 1 for i in range(N): A[i] = X X = X - 1 Как меняется X? ? X = N, N-1, …, 2, 1 начальное значение уменьшение на 1
A[i] = X Как связаны i и X? ?
–1 +1 Сумма i и X не меняется! ! i + X = N X = N - i for i in range(N): A[i] = N – i В стиле Python: A = [ N-i for i in range(N) ] Вывод массива на экранfor i in range(N): print( A[i] ) Как вывести в строчку? ? или так: в столбик Весь массив сразу: print( A ) [1,2,3,4,5] По одному элементу: for x in A: print( x ) для всех элементов в массиве A for x in A: print( x, end=" " ) пробел между элементами |