# Модуль для хранения студентов
class StudentDatabase:
def __init__(self):
self.students = {} # Храним ID студентов и их имена
def add_student(self, id, name):
self.students[id] = name
def get_student(self, id):
return self.students.get(id, None)
# Модуль обработки студентов
class StudentManager:
def __init__(self, db):
self.db = db
def register_student(self, id, name):
if id in self.db.students:
return f"Студент с ID {id} уже существует."
self.db.add_student(id, name)
return f"Студент {name} зарегистрирован."
def find_student(self, id):
student = self.db.get_student(id)
return student if student else f"Студент с ID {id} не найден."
Тестирование
db = StudentDatabase()
manager = StudentManager(db)
print(manager.register_student(1, "Иван")) # Ожидаем: "Студент Иван зарегистрирован."
print(manager.register_student(1, "Анна")) # Ожидаем: "Студент с ID 1 уже существует."
print(manager.find_student(1)) # Ожидаем: "Иван"
print(manager.find_student(2)) # Ожидаем: "Студент с ID 2 не найден."
Пример 3: Калькулятор с журналом операций
Код
# Модуль калькулятора
class Calculator:
def add(self, a, b):
return a + b
def subtract(self, a, b):
return a - b
# Модуль для ведения журнала
class Logger:
def __init__(self):
self.logs = [] # Список для хранения операций
def log(self, operation):
self.logs.append(operation)
def get_logs(self):
return self.logs