97.42K
AI
Category: programmingprogramming

Урок_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
English     Русский Rules