📝 Практические задания

⚡ Кратко

Идите от простых задач к сложным.

После каждого решения проверьте исходные данные и ожидаемый вывод.

Если задача меняет исходный список, явно убедитесь, что изменился именно он.

Топ-3 ошибки: путать ссылку и копию; ожидать порядок там, где его нет; усложнять выражение, когда обычный цикл читается лучше.

Задание 1. Номер покупки

Найдите номер товара Milk, начиная с единицы.

products = ['Bread', 'Butter', 'Cheese', 'Milk', 'Eggs']

Задание 2. Список уникальных слов

Разбейте текст, получите уникальные слова в алфавитном порядке без учёта регистра.

text = 'Python is a great programming language. Python is popular and powerful.'

Задание 3. Самое длинное слово

Найдите самое длинное слово и его длину.

sentence = 'Programming in Python is both fun and educational'

Задание 4. Перемещение в конец

Переместите элементы меньше 5 в конец списка, сохранив порядок остальных.

numbers = [4, 7, 1, 6, 3, 8, 2]

Задание 5. Суммы пар

Постройте отсортированный по убыванию список сумм разных пар без дублей.

numbers = [3, 5, 9]

Задание 6. Покупки с лимитом бюджета

Выведите приоритетные покупки, которые помещаются в бюджет, и итоговую стоимость.

budget = 7

Задание 7. Упаковка товаров по ящикам

Распределите веса по ящикам с лимитом веса.

weights = [3, 4, 9, 8, 2, 5, 3, 6, 1, 7, 1, 1, 2, 4]

Задание 8. Оценки студентов

Выведите таблицу средних баллов.

students = [('Alice', [85, 90, 78]), ('Bob', [88, 76, 92])]

Задание 9. Новая задача

Добавьте задачу Prepare presentation сотруднику Alice.

employees = [('Alice', ['Review documents', 'Call clients'])]

Задание 10. Перестановка элементов

Поменяйте Alice и Bob в Project A.

projects = [('Project A', ['Alice', 'Bob', 'Charlie'])]

Задание 11. Приходы и расходы

Измените исходный список, оставив записи с неотрицательным балансом.

transactions = [(100, -50, -30), (-200, 100, 50)]

Задание 12. Последовательность цифр

Проверьте, находятся ли введённые цифры в списке в указанном порядке.

sequence = '943'

Задание 13. Зашифрованное послание

Расшифруйте числовое сообщение со сдвигом 3.

message = '92 114 120 ...'

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Что важнее всего в практическом задании?

Вопрос 2

Как безопаснее двигаться в практикуме?

Вопрос 3

Что делать, если решение не совпадает с ожидаемым результатом?

Вопрос 4

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 5

Зачем использовать f-strings в современном Python?

Вопрос 6

Когда полезен ранний возврат из функции?