Подготовка окружения
- Создайте папку lesson_36.
- Каждую задачу оформите отдельным файлом task_1.py, task_2.py и так далее.
- Запускайте файлы из терминала VS Code командой python task_1.py.
- После совпадения с примером измените входные данные и проверьте, что решение не привязано к одному случаю.
Домашнее задание 1. Реверс словаря
Поменяйте местами ключи и значения. Если значения повторяются, добавьте ключи в список.
Данные: data = {"a": 1, "b": 2, "c": 1, "d": 3}
data = {"a": 1, "b": 2, "c": 1, "d": 3}
reversed_dict = {}
for key, value in data.items():
reversed_dict.setdefault(value, []).append(key)
print("Перевернутый словарь:", reversed_dict)Домашнее задание 2. Счётчик букв в словах
Создайте словарь, где ключи - слова, а значения - словари с количеством каждой буквы.
Данные: words = ["anna", "bennet", "john"]
words = ["anna", "bennet", "john"]
result = {}
for word in words:
letter_counts = {}
for letter in word:
letter_counts[letter] = letter_counts.get(letter, 0) + 1
result[word] = letter_counts
print(result)Домашнее задание 3. Распределение студентов по группам
Разделите студентов по группам на основе баллов.
Данные: students = {"Аня": 92, "Боря": 76, "Ваня": 65, "Галя": 48, "Дима": 88, "Ева": 54}
students = {"Аня": 92, "Боря": 76, "Ваня": 65, "Галя": 48, "Дима": 88, "Ева": 54}
groups = {"Отличники": {}, "Хорошисты": {}, "Троечники": {}, "Не сдали": {}}
for student, score in students.items():
if score >= 85:
group = "Отличники"
elif score >= 70:
group = "Хорошисты"
elif score >= 50:
group = "Троечники"
else:
group = "Не сдали"
groups[group][student] = score
print("Распределение по группам:", groups)