print( A[0] ) print( A[A[0]] ) print( A[A[A[0]]] )
print( A[A[A[A[0]]]] ) print( A[A[A[A[A[0]]]]] )
Как и для символьных строк, при обращении к элементам массива в Python можно использовать отрицательные индексы, при этом отсчёт ведётся с конца массива. Например, A[–1] – это последний элемент, а A[–2] – предпоследний. Для получения соответствующего «обычного» индекса к отрицательному нужно добавить длину массива.
При обращении к элементу массива с несуществующим индексом происходит серьёзная ошибка – выход за границы массива, и программа завершается аварийно. Например, для массива, состоящего из пяти элементов, правильные значения индексов – от «–5» до 4.
77 http://kpolyakov.spb.ru
![](data:image/jpeg;base64,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) ![](data:image/jpeg;base64,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) 05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Далее везде будем считать, что N – это текущий размер массива A, с которым мы работаем, то есть то значение, которое возвращает вызов функции len(A).
Перебор элементов массива
Перебор элементов состоит в том, что мы в цикле просмат-риваем все элементы массива и, если нужно, выполняем с каж-дым из них некоторую операцию. Для этого удобнее всего ис-пользовать цикл по переменной, которая изменяется от мини-мального до максимального индекса. Для массива из N элемен-тов, этот цикл выглядит так:
for i in range(N):
... # работаем с A[i]
Здесь вместо многоточия можно добавлять операторы, ко-торые работают с элементом A[i] (в том числе и изменяют его).
Какие значения будет принимать переменная i при выпол-нении этого цикла?
Мы видим, что благодаря использованию массива нам дос-таточно описать, что делать с одним элементом, а затем помес-тить эти действия внутрь цикла, перебирающего значения ин-дексов. Если бы мы применяли простые переменные, то нам пришлось бы описывать необходимые действия для каждого элемента (правда, при этом цикл бы не понадобился).
Выполните ручную прокрутку фрагмента программы:
N = 5
A = [0]*N
for i in range(N):
A[i] = i
Какие значения будут записаны в массив?
Запишите фрагмент программы, который заполнит массив нулями.
Заполним массив первыми N натуральными числами в об-ратном порядке: в первый по счёту элемент массива (с индексом
78 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
0) должно быть записано число N, во второй – число N – 1, а в по-следний – единица.
Сначала запишем цикл в развёрнутом виде: операторы, которые должны быть выполнены:
Достарыңызбен бөлісу: |