Вопрос задан 16.07.2026 в 17:05. Предмет Информатика. Спрашивает Стефішин Влад.

Тема: Объектно-ориентированное программирование (ООП) в Python Задание: Реализация класса "Студент" Создайте класс "Студент" с атрибутами: Имя Фамилия Возраст Список оценок (список чисел от 1 до 10) Реализуйте методы класса: Метод для вычисления среднего балла студента. Метод для добавления новой оценки в список. Создайте несколько экземпляров класса "Студент" и протестируйте их методы, например: Создайте студента с именем "Иван", фамилией "Иванов", возрастом 18 и списком оценок [8, 9, 7, 10, 8]. Вычислите средний балл студента и выведите результат. Попробуйте добавить новую оценку студенту и снова вычислить средний балл. Это задание поможет вам отработать основные принципы объектно-ориентированного программирования в Python. Успехов!

Перейти к ответам

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

Отвечает Свинчук Артём.

Python
class 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.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос