Вы находитесь на странице: 1из 9

Массивы

Массив – это группа переменных одного типа,


расположенных в памяти рядом (в соседних ячейках) и
имеющих общее имя. Каждая ячейка в массиве имеет
уникальный номер (индекс).

В python для хранения массивов будем использовать


списки (list).

Списки в Python - упорядоченные изменяемые коллекции


объектов произвольных типов (почти как массив, но типы
могут отличаться).
Алгоритмизация и программирование, язык Python, 10 класс 2

Что такое массив?

! Массив = таблица! НОМЕР


НОМЕР
элемента
элемента массива
массива
(ИНДЕКС)
A массив (ИНДЕКС)

0 1 22 3 4
5 10 15
15 20 25

A[0] A[1] ЗНАЧЕНИЕ


ЗНАЧЕНИЕ
A[2] A[3] A[4]
элемента
элемента массива
массива

НОМЕР
НОМЕР (ИНДЕКС)
(ИНДЕКС)
элемента
элемента массива:
массива: 22

A[2] ЗНАЧЕНИЕ
ЗНАЧЕНИЕ
элемента
элемента массива:
массива: 15
15

 К.Ю. Поляков, Е.А. Ерёмин, 2014 http://kpolyakov.spb.ru


Алгоритмизация и программирование, язык Python, 10 класс 3

Массивы в Python: списки

A = [1, 3, 4, 23, 5]
A = [1, 3] + [4, 23] + [5]
[1, 3, 4, 23, 5]
A = [0]*10 ? Что будет?
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
A = list ( range(10) )
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 К.Ю. Поляков, Е.А. Ерёмин, 2014 http://kpolyakov.spb.ru


Алгоритмизация и программирование, язык Python, 10 класс 4

Ввод массива с клавиатуры (в столбик)


Создание массива:
N = 10
A = [0]*N
Ввод с клавиатуры:
for i in range(N): A[0] = 5
print ( "A[", i, "]=", A[1] = 12
sep = "", end = "" ) A[2] = 34
A[i] = int( input() ) A[3] = 56
A[4] = 13
sep = "" не разделять
элементы
end = ""
не переходить на
новую строку

 К.Ю. Поляков, Е.А. Ерёмин, 2014 http://kpolyakov.spb.ru


Вариант ввода в столбик, без подсказок для пользователя.

Более рациональный вариант

Заполнение случайными числами в заданном интервале


Ввод массива в одной строке
A = list( map(int, input().split()))

Разобьем на составные части


data = input() # "1 2 3 4 5"
s = data.split() # ["1","2","3","4","5"]
A = list(map(int, s)) # [1, 2, 3, 4, 5]
Алгоритмизация и программирование, язык Python, 10 класс 7

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


Как список:
print ( A ) [1, 2, 3, 4, 5]
В строчку через пробел:
for i in range(N):
print ( A[i], end = " " ) 1 2 3 4 5
или так:
for x in A:
print ( x, end = " " ) 1 2 3 4 5
или так:
print ( *A ) print (1, 2, 3, 4, 5)

 К.Ю. Поляков, Е.А. Ерёмин, 2014 http://kpolyakov.spb.ru


Алгоритмизация и программирование, язык Python, 10 класс 8

Подсчёт нужных элементов


Задача. В массиве записаны данные о росте
баскетболистов. Сколько из них имеет рост больше
180 см, но меньше 190 см?
AA == list(map(int,input().split()))
list(map(int,input().split()))
count
count == 00
for
for ii in
in range(len(A)):
range(len(A)): ## len(A)-колич.
len(A)-колич. эл-в
эл-в вв массиве
массиве
if
if 180
180 << A[i]
A[i] and
and A[i]
A[i] << 190:
190:
count
count +=
+= 11
или так:
AA == list(map(int,input().split()))
list(map(int,input().split()))
count
count == 00
for
for xx in
in A:
A:
if
if 180
180 << xx and
and xx << 190:
190:
count
count +=
+= 11
Первый вариант : Когда нужно узнать индекс, или изменять элемент массива
Второй вариант: Для простых проверок, подсчета суммы, количества подходящих и т.д.
 К.Ю. Поляков, Е.А. Ерёмин, 2014 http://kpolyakov.spb.ru
Алгоритмизация и программирование, язык Python, 10 класс 9

Перебор элементов
Сумма:
summa = 0
for x in A:
if 180 < x < 190:
summa += x
print ( summa )
Среднее арифметическое:
count = 0
summa = 0
for x in A:
if 180 < x < 190:
count += 1
summa += x среднее
print ( summa/count ) арифметическое
 К.Ю. Поляков, Е.А. Ерёмин, 2014 http://kpolyakov.spb.ru