Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Конструкторы и Деструкторы

.docx
Скачиваний:
0
Добавлен:
16.06.2026
Размер:
76.5 Кб
Скачать
  1. Написать программу, которая содержит класс. Класс назван вашей фамилией. Класс содержит компоненты для хранения вашего имени, года рождения и массив оценок по программированию. Инициализацию данных произвести в конструкторе.

class Khasenov:

def __init__(self):

self.name = "Marat"

self.birth_year = 2000

self.grades = [5, 4, 5, 5, 3] # Пример оценок по программированию

def display_info(self):

print(f"Имя: {self.name}")

print(f"Год рождения: {self.birth_year}")

print(f"Оценки по программированию: {self.grades}")

# Пример использования:

student = Khasenov()

student.display_info()

Имя: Marat

Год рождения: 2000

Оценки по программированию: [5, 4, 5, 5, 3]

  1. Написать программу, которая содержит класс «число» Класс, включает методы для нахождения суммы и количества делителей числа. Инициализацию данных произвести в конструкторе.

class Number:

def __init__(self, number):

self.number = number # Инициализация числа

def get_divisors(self):

"""Метод для нахождения делителей числа"""

divisors = []

for i in range(1, self.number + 1):

if self.number % i == 0:

divisors.append(i)

return divisors

def sum_of_divisors(self):

"""Метод для нахождения суммы делителей"""

return sum(self.get_divisors())

def count_of_divisors(self):

"""Метод для нахождения количества делителей"""

return len(self.get_divisors())

# Пример использования:

num = Number(28)

print(f"Число: {num.number}")

print(f"Делители числа: {num.get_divisors()}")

print(f"Сумма делителей: {num.sum_of_divisors()}")

print(f"Количество делителей: {num.count_of_divisors()}")

Число: 28

Делители числа: [1, 2, 4, 7, 14, 28]

Сумма делителей: 56

Количество делителей: 6

3. Написать программу, которая содержит класс «массив». Класс, включает методы для нахождения суммы и количества элементов массива, которые являются простыми числами. Инициализацию данных произвести в конструкторе.

class Array:

def __init__(self, array):

self.array = array # Инициализация массива

def is_prime(self, num):

"""Метод для проверки, является ли число простым"""

if num <= 1:

return False

for i in range(2, int(num ** 0.5) + 1):

if num % i == 0:

return False

return True

def sum_of_primes(self):

"""Метод для нахождения суммы простых чисел в массиве"""

prime_numbers = [num for num in self.array if self.is_prime(num)]

return sum(prime_numbers)

def count_of_primes(self):

"""Метод для нахождения количества простых чисел в массиве"""

prime_numbers = [num for num in self.array if self.is_prime(num)]

return len(prime_numbers)

# Пример использования:

array = Array([10, 3, 5, 7, 12, 19, 20, 23, 1])

print(f"Массив: {array.array}")

print(f"Сумма простых чисел: {array.sum_of_primes()}")

print(f"Количество простых чисел: {array.count_of_primes()}")

Массив: [10, 3, 5, 7, 12, 19, 20, 23, 1]

Сумма простых чисел: 57

Количество простых чисел: 4

4.Создать класс Млекопитающие. Использовать атрибуты и методы по смыслу.

class Mammal:

def __init__(self, name, habitat, diet, sound):

self.name = name # Имя животного

self.habitat = habitat # Среда обитания

self.diet = diet # Диета

self.sound = sound # Звук, который издает млекопитающее

def make_sound(self):

"""Метод для воспроизведения звука"""

print(f"{self.name} издает звук: {self.sound}")

def display_info(self):

"""Метод для вывода информации о млекопитающем"""

print(f"Млекопитающее: {self.name}")

print(f"Среда обитания: {self.habitat}")

print(f"Диета: {self.diet}")

print(f"Звук: {self.sound}")

def change_diet(self, new_diet):

"""Метод для изменения диеты"""

self.diet = new_diet

print(f"Диета {self.name} была изменена на: {self.diet}")

# Пример использования:

lion = Mammal(name="Лев", habitat="Савана", diet="Мясо", sound="Рычит")

elephant = Mammal(name="Слон", habitat="Леса и саваны", diet="Травоядное", sound="Трубит")

# Вывод информации о животных

lion.display_info()

elephant.display_info()

# Изменение диеты

lion.change_diet("Растительноядное")

# Воспроизведение звуков

lion.make_sound()

elephant.make_sound()

5. Создать класс Бобовые. Использовать атрибуты и методы по смыслу.

class Legumes:

def __init__(self, name, color, family, nutritional_value):

self.name = name # Название бобового растения

self.color = color # Цвет плодов или растения

self.family = family # Семейство (например, Fabaceae)

self.nutritional_value = nutritional_value # Пищевая ценность (в г на 100 г)

def get_nutritional_value(self):

"""Метод для вывода пищевой ценности бобового растения"""

return f"Пищевая ценность 100 г {self.name}: {self.nutritional_value}"

def get_info(self):

"""Метод для вывода информации о бобовом растении"""

print(f"Название: {self.name}")

print(f"Цвет: {self.color}")

print(f"Семейство: {self.family}")

print(self.get_nutritional_value())

def change_name(self, new_name):

"""Метод для изменения названия бобового растения"""

self.name = new_name

print(f"Название растения было изменено на: {self.name}")

# Пример использования:

pea = Legumes(name="Горох", color="Зеленый", family="Fabaceae", nutritional_value={"белки": 5, "углеводы": 27, "жиры": 0.4})

bean = Legumes(name="Фасоль", color="Красный", family="Fabaceae", nutritional_value={"белки": 9, "углеводы": 27, "жиры": 0.8})

# Вывод информации о растениях

pea.get_info()

bean.get_info()

# Изменение названия растения

pea.change_name("Горошек")

pea.get_info()

5. Создать класс Жилой_Дом. Использовать атрибуты и методы по смыслу.

class ResidentialBuilding:

def __init__(self, address, floors, apartments_per_floor, total_area):

self.address = address # Адрес жилого дома

self.floors = floors # Количество этажей

self.apartments_per_floor = apartments_per_floor # Количество квартир на каждом этаже

self.total_area = total_area # Общая площадь дома (в квадратных метрах)

def total_apartments(self):

"""Метод для вычисления общего количества квартир в доме"""

return self.floors * self.apartments_per_floor

def total_area_of_building(self):

"""Метод для вычисления общей площади дома"""

return self.total_area

def add_apartment(self):

"""Метод для добавления одной квартиры на одном из этажей"""

self.apartments_per_floor += 1

print(f"Добавлена 1 квартира. Теперь на каждом этаже {self.apartments_per_floor} квартир.")

def display_info(self):

"""Метод для вывода информации о жилом доме"""

print(f"Адрес жилого дома: {self.address}")

print(f"Количество этажей: {self.floors}")

print(f"Количество квартир на этаже: {self.apartments_per_floor}")

print(f"Общая площадь: {self.total_area} кв.м")

print(f"Общее количество квартир: {self.total_apartments()}")

# Пример использования:

building = ResidentialBuilding(address="ул. Ленина, 10", floors=5, apartments_per_floor=4, total_area=1200)

# Вывод информации о доме

building.display_info()

# Добавление квартиры

building.add_apartment()

# Вывод информации о доме после добавления квартиры

building.display_info()

Соседние файлы в предмете Программирование на Python