Создать консольное приложение на Python, которое

Создать консольное приложение на Python, которое позволяет вести учет успеваемости студентов. Программа должна позволять вводить данные о студентах, курсах и оценках, а также выводить отчет по успеваемости каждого студента.
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Python
Создано: 01.03.2025 06:00

Создать консольное приложение на Python, которое позволяет вести учет успеваемости студентов. Программа должна позволять вводить данные о студентах, курсах и оценках, а также выводить отчет по успеваемости каждого студента.

Вот пример простого консольного приложения на Python, которое позволяет вести учет успеваемости студентов.

class Student:
    def __init__(self, name):
        self.name = name
        self.grades = {}

    def add_course(self, course, grade):
        self.grades[course] = grade

    def get_average_grade(self):
        if not self.grades:
            return 0
        return sum(self.grades.values()) / len(self.grades)

    def __str__(self):
        return f"Студент: {self.name}, Оценки: {self.grades}, Средний балл: {self.get_average_grade():.2f}"

class GradeBook:
    def __init__(self):
        self.students = {}

    def add_student(self, name):
        if name not in self.students:
            self.students[name] = Student(name)

    def add_grade(self, name, course, grade):
        if name in self.students:
            self.students[name].add_course(course, grade)
        else:
            print(f"Студент {name} не найден.")

    def print_report(self):
        for student in self.students.values():
            print(student)

def main():
    gradebook = GradeBook()
    
    while True:
        print("\nМеню:")
        print("1. Добавить студента")
        print("2. Добавить оценку")
        print("3. Вывести отчет по успеваемости")
        print("4. Выход")
        
        choice = input("Выберите действие (1-4): ")
        
        if choice == "1":
            name = input("Введите имя студента: ")
            gradebook.add_student(name)
            print(f"Студент {name} добавлен.")
        
        elif choice == "2":
            name = input("Введите имя студента: ")
            course = input("Введите название курса: ")
            grade = float(input("Введите оценку: "))
            gradebook.add_grade(name, course, grade)
        
        elif choice == "3":
            print("\nОтчет по успеваемости:")
            gradebook.print_report()
        
        elif choice == "4":
            print("Выход из программы.")
            break
        
        else:
            print("Некорректный выбор, попробуйте снова.")

if __name__ == "__main__":
    main()

Описание программы:

  1. Класс Student:

    • Хранит информацию о студенте: имя и оценки.
    • Метод add_course позволяет добавлять курс и его оценку.
    • Метод get_average_grade вычисляет средний балл студента.
    • Метод __str__ возвращает строковое представление студента.
  2. Класс GradeBook:

    • Хранит коллекцию студентов.
    • Метод add_student добавляет нового студента.
    • Метод add_grade добавляет оценку для конкретного студента.
    • Метод print_report выводит отчет по успеваемости всех студентов.
  3. Функция main:

    • Управляет пользовательским интерфейсом, предоставляет меню для взаимодействия с пользователем.

Запуск программы

Для запуска программы, сохраните код в файл с расширением .py и выполните его в командной строке:

python your_file_name.py

Замените your_file_name.py на имя вашего файла.