Есть ответ 👍

Создайте систему контроля базы данных студентов и учителей, создайте тесты и систему сохранения результатов тестов.
Вам понадобится класс Человек, а также классы Учителя и ученики,
которые наследуются от человека, вам нужно будет создать
методы описывающие функционал учителей и студентов,
их информация должна быть записана в файл.
И вы должны создать класс Тестов, которые будут вызваны от экземлпяров
класса студент,чтобы те могли проходить тесты и по окончанию теста, результат
должен сохраняться в файл.(желательно использовать исключения)

287
382
Посмотреть ответы 2

Ответы на вопрос:


import json

class Person:

   def __init__(self, name, age, gender):

       self.name = name

       self.age = age

       self.gender = gender

   def to_dict(self):

       return {"name": self.name, "age": self.age, "gender": self.gender}

class Teacher(Person):

   def __init__(self, name, age, gender, subject):

       super().__init__(name, age, gender)

       self.subject = subject

   def to_dict(self):

       teacher_dict = super().to_dict()

       teacher_dict["subject"] = self.subject

       return teacher_dict

class Student(Person):

   def __init__(self, name, age, gender, group):

       super().__init__(name, age, gender)

       self.group = group

   def to_dict(self):

       student_dict = super().to_dict()

       student_dict["group"] = self.group

       return student_dict

class Test:

   def __init__(self, questions, answers):

       self.questions = questions

       self.answers = answers

   def run(self):

       score = 0

       for i, question in enumerate(self.questions):

           print(f"Question {i + 1}: {question}")

           answer = input("Enter your answer: ")

           if answer == self.answers[i]:

               score += 1

       print(f"Your score: {score}/{len(self.questions)}")

       return score

   def to_dict(self):

       return {"questions": self.questions, "answers": self.answers}

class TestResult:

   def __init__(self, student_name, test, score):

       self.student_name = student_name

       self.test = test

       self.score = score

   def to_dict(self):

       return {"student_name": self.student_name, "test": self.test.to_dict(), "score": self.score}

class Database:

   def __init__(self, teachers_file, students_file, test_results_file):

       self.teachers_file = teachers_file

       self.students_file = students_file

       self.test_results_file = test_results_file

   def load_file(self, file_path):

       try:

           with open(file_path, "r") as f:

               return json.load(f)

       except FileNotFoundError:

           return []

   def save_file(self, data, file_path):

       with open(file_path, "w") as f:

           json.dump(data, f)

   def add_teacher(self, teacher):

       teachers = self.load_file(self.teachers_file)

       teachers.append(teacher.to_dict())

       self.save_file(teachers, self.teachers_file)

   def get_teachers(self):

       return [Teacher(**teacher_dict) for teacher_dict in self.load_file(self.teachers_file)]

   def add_student(self, student):

       students = self.load_file(self.students_file)

       students.append(student.to_dict())

       self.save_file(students, self.students_file)

   def get_students(self):

       return [Student(**student_dict) for student_dict in self.load_file(self.students_file)]

   def add_test_result(self, test_result):

       test_results = self.load_file(self.test_results_file)

       test_results.append(test_result.to_dict())

       self.save_file(test_results, self.test_results_file)

   def get_test_results(self):

       test_results = self.load_file(self.test_results_file)

       return [TestResult(test_result["student_name"], Test(**test_result["test"]), test_result["score"]) for test_result in test_results]

kreker128
4,7(65 оценок)

x = float(input("Введіть час, проведений Петриком (у годинах): "))

y = float(input("Введіть час, проведений Катериною (у годинах): "))

speed_petryk = 5  # швидкість Петрика (км/год)

speed_katerina = 4  # швидкість Катерини (км/год)

distance_petryk = speed_petryk * x  # відстань, пройдена Петриком (км)

distance_katerina = speed_katerina * y  # відстань, пройдена Катериною (км)

if distance_petryk > distance_katerina:

   print("Петрик пройшов більшу відстань: ", distance_petryk, "км")

elif distance_katerina > distance_petryk:

   print("Катерина пройшла більшу відстань: ", distance_katerina, "км")

else:

   print("Петрик і Катерина пройшли однакову відстань: ", distance_petryk, "км")

Объяснение:

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS