Подготовка окружения
- Создайте папку
lesson_30. - Создайте файлы
task_1.py,task_2.pyи так далее. - Запускайте файл командой
python task_1.py. - После решения измените входные данные и убедитесь, что логика не привязана только к примеру.
Домашнее задание 1. Оценки текстом
Преобразуйте список оценок 1-5 в пары [число, текст]. 5 — отлично, 3-4 — хорошо, 2 и ниже — неудовлетворительно.
grades = [5, 3, 4, 2, 1, 5, 3]
grade_labels = [
[grade, "отлично" if grade == 5 else "хорошо" if grade >= 3 else "неудовлетворительно"]
for grade in grades
]
print(grade_labels)Домашнее задание 2. Правильные скобки
Проверьте строку со скобками (), [] и {} на правильный порядок закрытия.
from collections import deque
strings = ["({[}])", "([({}()){}])"]
pairs = {")": "(", "]": "[", "}": "{"}
for string in strings:
stack = deque()
is_valid = True
for char in string:
if char in pairs.values():
stack.append(char)
elif char in pairs and (not stack or stack.pop() != pairs[char]):
is_valid = False
break
if stack:
is_valid = False
print("Скобки:", string)
print("Валидны:", is_valid)