🐍 Python: Практические задания

Тема: Комбинированные задачи

📊 Прогресс:

0/0

🟢 Уровень 1: Преобразование типов

Задача 1.1: Список оценок в кортеж
Дан список оценок студента: grades = [85, 92, 78, 95, 88]
Преобразуйте его в кортеж (чтобы оценки нельзя было изменить) и выведите тип полученной переменной.
💡 Подсказка:
Используйте функцию tuple() и type().
✅ Решение:
grades = [85, 92, 78, 95, 88]
grades_tuple = tuple(grades)
print(grades_tuple)
print(type(grades_tuple))
Задача 1.2: Меню кафе
Создайте словарь меню кафе: {"капучино": 180.50, "латте": 200.00, "эспрессо": 120.75, "американо": 150.25}
Выведите цену латте с помощью метода .get().
💡 Подсказка:
Используйте .get('латте') для безопасного доступа.
✅ Решение:
menu = {"капучино": 180.50, "латте": 200.00, "эспрессо": 120.75, "американо": 150.25}
print(menu.get("латте"))
Задача 1.3: Навыки программиста
Дана строка навыков: skills = "Python, JavaScript, SQL, Git, Docker"
Разделите её на список отдельных навыков.
💡 Подсказка:
Используйте метод .split(', ').
✅ Решение:
skills = "Python, JavaScript, SQL, Git, Docker"
skills_list = skills.split(", ")
print(skills_list)

🟡 Уровень 2: Работа с уникальными значениями

Задача 2.1: Уникальные ID пользователей
Дан список ID посетителей сайта за день: visitors = [101, 203, 101, 304, 203, 405, 101, 506]
Создайте множество для получения уникальных ID и выведите его.
💡 Подсказка:
Используйте set() для удаления дубликатов.
✅ Решение:
visitors = [101, 203, 101, 304, 203, 405, 101, 506]
unique_visitors = set(visitors)
print(unique_visitors)
Задача 2.2: Подсчёт городов доставки
Дан список городов доставки: cities = ["Москва", "Санкт-Петербург", "Москва", "Казань", "Москва", "Санкт-Петербург"]
Определите количество уникальных городов.
💡 Подсказка:
Создайте множество и используйте функцию len().
✅ Решение:
cities = ["Москва", "Санкт-Петербург", "Москва", "Казань", "Москва", "Санкт-Петербург"]
unique_cities = set(cities)
print(len(unique_cities))
Задача 2.3: Приветствие клиента
Даны переменные: company = "TechShop" и discount = 15
Выведите сообщение: "Добро пожаловать в TechShop! Сегодня скидка 15%" используя f-строку.
💡 Подсказка:
Используйте f-строку с фигурными скобками для переменных.
✅ Решение:
company = "TechShop"
discount = 15
print(f"Добро пожаловать в {company}! Сегодня скидка {discount}%")

🟠 Уровень 3: Преобразования и вычисления

Задача 3.1: Калькулятор чека
В ресторане строковые цены блюд: salad = "350", soup = "280", main = "650"
Преобразуйте их в числа и вычислите общую сумму заказа.
💡 Подсказка:
Используйте функцию int() для преобразования.
✅ Решение:
salad = "350"
soup = "280"
main = "650"
total = int(salad) + int(soup) + int(main)
print(total)
Задача 3.2: Извлечение домена
Дан email: email = "user@company.com"
Извлеките домен "company.com" с помощью среза (домен начинается после символа @).
💡 Подсказка:
Найдите индекс @ и используйте срез от следующего символа.
✅ Решение:
email = "user@company.com"
print(email[5:])
Задача 3.3: Топ-5 результатов
Даны результаты теста: scores = [67, 89, 45, 92, 78, 88, 91, 73, 85, 95]
Отсортируйте список по убыванию и выведите топ-5 лучших результатов.
💡 Подсказка:
Используйте .sort(reverse=True) и срез [:5].
✅ Решение:
scores = [67, 89, 45, 92, 78, 88, 91, 73, 85, 95]
scores.sort(reverse=True)
print(scores[:5])

🔴 Уровень 4: Словари и списки

Задача 4.1: База данных товаров
Дан словарь товаров: products = {"ноутбук": 45000, "мышь": 1500, "клавиатура": 3000}
Добавьте новый товар "монитор" с ценой 18000 и выведите обновлённый словарь.
💡 Подсказка:
Для добавления используйте dict[key] = value.
✅ Решение:
products = {"ноутбук": 45000, "мышь": 1500, "клавиатура": 3000}
products["монитор"] = 18000
print(products)
Задача 4.2: Форматирование ID
Даны ID сотрудников: ids = [1001, 1002, 1003, 1004, 1005]
Преобразуйте список в строку ID через дефис (например: "1001-1002-1003-1004-1005").
💡 Подсказка:
Сначала преобразуйте числа в строки, затем используйте .join().
✅ Решение:
ids = [1001, 1002, 1003, 1004, 1005]
str_ids = []
for id in ids:
    str_ids.append(str(id))
result = "-".join(str_ids)
print(result)
Задача 4.3: Профиль студента
Дан словарь:
student = {
    "name": "Анна",
    "age": 20,
    "university": {
        "name": "МГУ",
        "faculty": "ВМК",
        "course": 3
    }
}
Выведите название факультета из вложенного словаря.
💡 Подсказка:
Обращайтесь к ключам последовательно через квадратные скобки.
✅ Решение:
student = {
    "name": "Анна",
    "age": 20,
    "university": {
        "name": "МГУ",
        "faculty": "ВМК",
        "course": 3
    }
}
print(student["university"]["faculty"])

🟣 Уровень 5: Комплексные структуры

Задача 5.1: Данные о фильме
Создайте кортеж с информацией о фильме: год выпуска (2023), название ("Оппенгеймер"), список жанров ["драма", "биография", "история"].
Выведите название фильма (второй элемент кортежа).
💡 Подсказка:
Кортеж создаётся через круглые скобки, индексация с 0.
✅ Решение:
movie = (2023, "Оппенгеймер", ["драма", "биография", "история"])
print(movie[1])
Задача 5.2: Общие подписчики
Даны подписчики двух блогеров:
blogger1 = {"Иван", "Мария", "Петр", "Анна"}
blogger2 = {"Петр", "Елена", "Анна", "Сергей"}
Найдите общих подписчиков (пересечение множеств).
💡 Подсказка:
Используйте оператор & или метод .intersection().
✅ Решение:
blogger1 = {"Иван", "Мария", "Петр", "Анна"}
blogger2 = {"Петр", "Елена", "Анна", "Сергей"}
common = blogger1 & blogger2
print(common)
Задача 5.3: Обработка тегов
Дана строка тегов статьи: tags = "python;веб;django;python;api;django;база данных"
Преобразуйте в список, удалите дубликаты через множество, отсортируйте и выведите результат.
💡 Подсказка:
Используйте .split(), set(), list() и sorted().
✅ Решение:
tags = "python;веб;django;python;api;django;база данных"
tags_list = tags.split(";")
unique_tags = sorted(list(set(tags_list)))
print(unique_tags)

💡 Полезные советы