Вопрос задан 16.07.2026 в 17:05.
Предмет Информатика.
Спрашивает Стефішин Влад.
Тема: Объектно-ориентированное программирование (ООП) в Python Задание: Реализация класса "Студент" Создайте класс "Студент" с атрибутами: Имя Фамилия Возраст Список оценок (список чисел от 1 до 10) Реализуйте методы класса: Метод для вычисления среднего балла студента. Метод для добавления новой оценки в список. Создайте несколько экземпляров класса "Студент" и протестируйте их методы, например: Создайте студента с именем "Иван", фамилией "Иванов", возрастом 18 и списком оценок [8, 9, 7, 10, 8]. Вычислите средний балл студента и выведите результат. Попробуйте добавить новую оценку студенту и снова вычислить средний балл. Это задание поможет вам отработать основные принципы объектно-ориентированного программирования в Python. Успехов!
Ответы на вопрос
Отвечает Свинчук Артём.
Pythonclass Student:
def __init__(self, first_name, last_name, age, grades=None):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.grades = grades if grades is not None else []
def average_grade(self):
"""Возвращает средний балл студента."""
if not self.grades:
return 0
return sum(self.grades) / len(self.grades)
def add_grade(self, grade):
"""Добавляет новую оценку в список оценок."""
if 1 <= grade <= 10:
self.grades.append(grade)
else:
print("Ошибка: оценка должна быть числом от 1 до 10.")
# Создание студента
student1 = Student("Иван", "Иванов", 18, [8, 9, 7, 10, 8])
print(f"Студент: {student1.first_name} {student1.last_name}")
print(f"Возраст: {student1.age}")
print(f"Оценки: {student1.grades}")
print(f"Средний балл: {student1.average_grade():.2f}")
# Добавление новой оценки
student1.add_grade(9)
print("\nПосле добавления новой оценки:")
print(f"Оценки: {student1.grades}")
print(f"Средний балл: {student1.average_grade():.2f}")
# Создание ещё одного экземпляра класса
student2 = Student("Анна", "Петрова", 19, [10, 9, 10, 8])
print(f"\nСтудент: {student2.first_name} {student2.last_name}")
print(f"Возраст: {student2.age}")
print(f"Оценки: {student2.grades}")
print(f"Средний балл: {student2.average_grade():.2f}")
Результат работы для Ивана будет примерно таким:
Студент: Иван Иванов
Возраст: 18
Оценки: [8, 9, 7, 10, 8]
Средний балл: 8.40
После добавления новой оценки:
Оценки: [8, 9, 7, 10, 8, 9]
Средний балл: 8.50
Здесь класс Student описывает студента как объект. В конструкторе __init__ сохраняются имя, фамилия, возраст и список оценок. Метод average_grade() вычисляет среднее значение оценок, а add_grade() добавляет новую оценку только в допустимом диапазоне от 1 до 10.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

