📝 Практические задания
⚡ Кратко
Идите от простых задач к сложным.
После каждого решения проверьте исходные данные и ожидаемый вывод.
Если задача меняет исходный список, явно убедитесь, что изменился именно он.
Топ-3 ошибки: путать ссылку и копию; ожидать порядок там, где его нет; усложнять выражение, когда обычный цикл читается лучше.
Задание 1. Взрослые
Что выведет [age for age in ages if age >= 18] для ages = [12, 17, 24, 18, 30]?
[24, 18, 30]
Задание 2. Форматирование имён
Преобразуйте имена длиннее 3 символов в lower(), остальные в upper().
names = ['John', 'Anna', 'Zoe', 'Mark']
Задание 3. Разворот матрицы
Умножьте каждый элемент матрицы на 2 и получите плоский список.
matrix = [[7, 8], [9, 10], [11, 12]]
Задание 4. zip разной длины
Что вернёт list(zip([10, 20, 30], [1, 2]))?
[(10, 1), (20, 2)]
Задание 5. Очередь deque
Определите состояние очереди после append(1), append(2), popleft(), append(3).
deque([2, 3])
Задание 6. Зеркальные строки больше трёх
Решите практическую задачу из источника.
words = ['cat', 'elephant', 'dog', 'bird', 'lion', 'ant']
Задание 7. Суммы элементов
Создайте список сумм строк матрицы.
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Проверка понимания
Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.
Вопрос 1
Что хранит dict?
Вопрос 2
Что гарантирует set?
Вопрос 3
Какой стиль имён переменных обычно рекомендует PEP 8?
Вопрос 4
Зачем использовать f-strings в современном Python?
Вопрос 5
Когда полезен ранний возврат из функции?
Вопрос 6
Что делает аннотация типа в Python?
Вопрос 7
Как лучше обрабатывать ожидаемую ошибку преобразования?