Similar presentations:
Урок_3_Python_структуры_данных_Jupyter
1.
PYTHONУрок 3
Структуры данных
Списки • кортежи • словари
Сегодня будем предсказывать вывод, запускать код и
исправлять ошибки.
Открой Jupyter Notebook и приготовься экспериментировать
PYTHON • УРОК 3
01
2.
Привет, программисты!Стартуем с короткого разогрева
1 • Подключись
2 • Разомни пальцы
3 • Исследуй
Открой Jupyter Notebook из
установленного Jupyter
Notebook на компьютере.
5 минут на тренажёре
печати. Запиши
результат.
Ошибки — это подсказки,
а не провал.
Вопрос: где удобнее хранить 10 имён — в отдельных переменных
или вместе?
Если Jupyter Notebook ещё не установлен — сообщи преподавателю до начала практики.
PYTHON • УРОК 3
02
3.
Миссия на сегодняВ конце урока ты сможешь…
СОЗДАВАТЬ
НАХОДИТЬ
ИЗМЕНЯТЬ
списки, кортежи и
словари
элемент по индексу
или ключу
данные с помощью
методов
Бонус: написать программу, которая упорядочивает данные.
PYTHON • УРОК 3
03
4.
Разогрев: вспомни прошлый урокСначала подумай сам • затем обсуди с соседом
Что из этого является строкой?
"Python"
42
True
[1, 2, 3]
ПОДСКАЗКА: Строка — текст в кавычках.
PYTHON • УРОК 3
04
5.
Зачем нужны структуры данных?Представь, что программа — это комната для хранения данных
Без структуры
Со структурой
Почему лучше?
name1 = 'Аня'
name2 = 'Илья'
name3 = 'Маша'
students = ['Аня', 'Илья',
'Маша']
Связанные данные
собраны в одном месте.
Обсудите: где удобнее добавить четвёртого ученика?
PYTHON • УРОК 3
05
6.
Проверка ответа • вспомни прошлый урокСЛАЙД ДЛЯ ПРОВЕРКИ • ПОКАЗЫВАЙ ПОСЛЕ ОБСУЖДЕНИЯ
Ответ: "Python"
Строка — это текст в кавычках.
PYTHON • УРОК 3
30
7.
1. Список — коллекция элементовСписок создаём квадратными скобками [ ]
shopping_list = ["Мороженое", "Пирожное", "Конфеты"]
print(shopping_list)
Что внутри?
Твой пример
Три элемента — три строки. Порядок
сохраняется.
Какой список ты бы создал для похода в
магазин?
PYTHON • УРОК 3
06
8.
Предскажи выводНе запускай код, пока не озвучишь предположение
shopping_list = ["Мороженое", "Пирожное", "Конфеты"]
shopping_string = "мороженое, пирожное, конфеты"
print(shopping_list)
print(shopping_string)
Вопрос: почему выводы выглядят по-разному?
Подсказка: список хранит отдельные элементы, строка — один текст.
PYTHON • УРОК 3
07
9.
Индекс: номер элементаВ Python нумерация начинается с нуля
shopping_list = ["Мороженое", "Пирожное", "Конфеты"]
print(shopping_list[0])
print(shopping_list[1])
Запомни
Твой ход
[0] — первый элемент
[1] — второй элемент
Как получить «Конфеты»?
PYTHON • УРОК 3
08
10.
Мини-челлендж № 1Сначала подумай сам • затем обсуди с соседом
Какой индекс нужен, чтобы получить «Конфеты»?
[0]
[1]
[2]
[3]
ПОДСКАЗКА: Первый элемент имеет индекс 0.
PYTHON • УРОК 3
09
11.
В одном списке — разные типыPython позволяет хранить числа, строки и логические значения
items = [30, 20, "сто", True]
print(items[0])
print(items[2])
print(items[3])
Предскажи три результата до запуска кода.
Важно: смешивать типы можно, но код должен оставаться понятным.
PYTHON • УРОК 3
10
12.
Проверка ответа • Челлендж № 1СЛАЙД ДЛЯ ПРОВЕРКИ • ПОКАЗЫВАЙ ПОСЛЕ ОБСУЖДЕНИЯ
Ответ: [2]
Индексы начинаются с нуля: [0] — первый, [1] — второй, [2] — третий
элемент.
PYTHON • УРОК 3
31
13.
Список можно менятьЭлементы списка можно заменять после создания
items = [30, 20, "сто", True]
items[2] = "пятьсот"
print(items)
До
После
[30, 20, "сто", True]
[30, 20, "пятьсот", True]
PYTHON • УРОК 3
11
14.
2. Кортеж — данные без измененийКортеж создаётся круглыми скобками ( )
point = (123, 20, -500, "abc")
print(point[1])
Можно
Нельзя
Хранить элементы и обращаться к ним
по индексу.
Изменить элемент уже созданного
кортежа.
PYTHON • УРОК 3
12
15.
Поймай ошибкуЧто произойдёт при выполнении второй строки?
point = (123, 20, -500, "abc")
point[1] = 10
Обсудите: почему Python не разрешает это действие?
Ответ: кортеж неизменяемый. Для других данных создай новый кортеж.
PYTHON • УРОК 3
13
16.
Список или кортеж?Выбери подходящую структуру
СПИСОК [ ]
КОРТЕЖ ( )
Список покупок, который будем
редактировать.
Координаты точки, которые храним
как набор значений.
Вопрос: для чего ты выбрал бы список, а для чего — кортеж?
PYTHON • УРОК 3
14
17.
3. Словарь — ключ и значениеСловарь создаётся фигурными скобками { }
capitals = {'Russia': 'Moscow', 'USA': 'Washington', 'China': 'Beijing'}
print(capitals['Russia'])
Ключ
Значение
Russia
Moscow
PYTHON • УРОК 3
15
18.
Правила словаряДоступ — по ключу, а не по номеру
Ключи
Значения
Изменение
Должны быть
уникальными.
Могут повторяться.
Значение можно заменить
по ключу.
capitals['China'] = 'Capital of China'
print(capitals['China'])
PYTHON • УРОК 3
16
19.
Мини-челлендж № 2Сначала подумай сам • затем обсуди с соседом
Что лучше хранит данные «имя → цвет глаз»?
Список [ ]
Кортеж ( )
Словарь { }
ПОДСКАЗКА: Нужно искать значение по имени.
PYTHON • УРОК 3
17
20.
Инструменты для работы со спискомМетоды помогают менять данные без ручной переписи
.append(x)
.remove(x)
.reverse()
Добавить элемент в конец.
Удалить по значению.
Развернуть порядок.
.count(x)
len(data)
.index(x)
Посчитать вхождения.
Количество элементов.
Найти индекс элемента.
Ещё: del — удалить по индексу; .sort() — сортировать по возрастанию.
PYTHON • УРОК 3
18
21.
Проверка ответа • Челлендж № 2СЛАЙД ДЛЯ ПРОВЕРКИ • ПОКАЗЫВАЙ ПОСЛЕ ОБСУЖДЕНИЯ
Ответ: Словарь { }
Словарь хранит пары «ключ: значение», поэтому по имени можно найти цвет
глаз.
PYTHON • УРОК 3
32
22.
Проверка: что будет в списке?Сначала предскажи, затем запусти код
snacks = ['яблоко', 'банан']
snacks.append('груша')
print(snacks)
Запиши результат в блокнот. Затем запусти код в Colab.
Самопроверка: список должен содержать три элемента.
PYTHON • УРОК 3
19
23.
Два способа удаленияНе перепутай индекс и значение
del list[индекс]
list.remove(значение)
Удаляет элемент по позиции.
Пример: del snacks[0]
Удаляет элемент с указанным значением.
Пример: snacks.remove('банан')
Вопрос: что удалит remove(), если одинаковое значение встречается дважды?
PYTHON • УРОК 3
20
24.
Сортировка и порядокПредскажи, что произойдёт после каждой команды
nums = [7, 2, 9, 1]
nums.sort()
print(nums)
nums.reverse()
print(nums)
.sort()
.reverse()
По возрастанию
Обратный порядок
PYTHON • УРОК 3
21
25.
Практикум 1 • Сортировщик8 минут • работаем в Jupyter Notebook
ЗАДАНИЕ
1. Создай список чисел.
2. Отсортируй по возрастанию.
3. Разверни порядок, чтобы получить
убывание.
4. Выведи результат.
numbers = [100, 35, 23523, -100, 325,
644, 11]
numbers.sort()
numbers.reverse()
print(numbers)
Усложнение: добавь ещё два числа и проверь, что решение работает.
PYTHON • УРОК 3
22
26.
Практикум 2 • Исправь словарь8 минут • работаем в Jupyter Notebook
ЗАДАНИЕ
1. Создай словарь «имя → цвет глаз».
2. Добавь две неправильные пары.
3. Удали неправильные пары.
4. Выведи итоговый словарь.
eyes = {'Алекс': 'карий', 'Стася':
'жёлтый',
'Коннор': 'синий', 'Дом':
'красный'}
del eyes['Дом']
print(eyes)
Объясни напарнику, какой ключ нужно удалить и почему.
PYTHON • УРОК 3
23
27.
Практикум 3 • Найди и замени6 минут • работаем в Jupyter Notebook
Дан список неповторяющихся
чисел. В нём есть число 20.
Найди число 20 и замени его на
200.
nums = [11, 35, 436, 23, 75, 20, 3,
7]
index = nums.index(20)
nums[index] = 200
print(nums)
Подсказка: сначала найди индекс, затем используй его для замены.
PYTHON • УРОК 3
24
28.
Босс-уровень • найди ошибку3 минуты • обсуждаем в парах
pets = ['кот', 'пёс']
pets.append['хомяк']
print(pets)
Что не так? Как исправить одну строку?
Подсказка: append — метод, который нужно вызвать.
PYTHON • УРОК 3
25
29.
Проверка босса-уровняСравни со своим исправлением
pets = ['кот', 'пёс']
pets.append('хомяк')
print(pets)
Метод вызывается круглыми скобками: append('хомяк').
Запусти исправленный код, чтобы проверить результат.
PYTHON • УРОК 3
26
30.
Собери шпаргалкуПерепиши в блокнот
Список
Кортеж
Словарь
[] • можно менять
.append() • .remove()
() • элементы нельзя
менять
{} • ключ: значение
Ключи уникальны
Инструменты: del • len() • .count() • .index() • .sort() • .reverse()
Попроси детей назвать по одному факту о каждой структуре без подсказки.
PYTHON • УРОК 3
27
31.
Выходной билетОтветь устно или запиши в блокнот
Вопрос 1
Вопрос 2
Вопрос 3
Как получить второй
элемент списка?
Чем кортеж отличается от
списка?
Как найти значение в
словаре?
Бонус: какой метод добавляет элемент в конец списка?
PYTHON • УРОК 3
28
32.
РефлексияПокажи пальцами или выбери вариант
Всё понятно
Могу объяснить другому.
Почти понятно
Нужно ещё
потренироваться.
Нужна помощь
Есть вопрос, который
разберём.
Каждый заканчивает фразу: «Сегодня я научился…»
PYTHON • УРОК 3
29
33.
Миссия выполнена!Отличная работа — сегодня вы научились хранить и менять данные
Материал урока в Jupyter Notebook:
Запусти Jupyter Notebook через Anaconda Navigator или команду jupyter notebook.
Домашняя миссия
Вопрос на выход
Доделай задачи, которые не успели
решить на уроке.
Где в реальной программе пригодится
словарь?
Спасибо за работу!
PYTHON • УРОК 3
30
programming