Классы
.docxСоздать класс «окружность», который включает два метода: для нахождения длины окружности, для нахождения объема шара.
import math
class Circle:
def __init__(self, radius):
self.radius = radius # Радиус окружности
def length(self):
"""Возвращает длину окружности"""
return 2 * math.pi * self.radius
def sphere_volume(self):
"""Возвращает объём шара с таким радиусом"""
return (4 / 3) * math.pi * self.radius ** 3
# Пример: радиус равен 5
c = Circle(5)
print(f"Радиус окружности: {c.radius}")
print(f"Длина окружности: {c.length():.2f}")
print(f"Объём шара: {c.sphere_volume():.2f}")
Создать класс «параллелепипед», который включает два метода: для нахождения объема параллелепипеда, для нахождения площади поверхности параллелепипеда.
class Parallelepiped:
def __init__(self, length, width, height):
self.length = length # длина
self.width = width # ширина
self.height = height # высота
def volume(self):
"""Вычисляет объём параллелепипеда"""
return self.length * self.width * self.height
def surface_area(self):
"""Вычисляет площадь поверхности параллелепипеда"""
lw = self.length * self.width
lh = self.length * self.height
wh = self.width * self.height
return 2 * (lw + lh + wh)
# Пример: создаём параллелепипед со сторонами 3, 4 и 5
p = Parallelepiped(3, 4, 5)
print(f"Длина: {p.length}, Ширина: {p.width}, Высота: {p.height}")
print(f"Объём: {p.volume()}")
print(f"Площадь поверхности: {p.surface_area()}")
Создать класс «объемы», который включает три метода: для нахождения объема цилиндра, для нахождения объема конуса, для нахождения объема шара
import math
class Volumes:
def cylinder_volume(self, radius, height):
"""Вычисляет объём цилиндра: π * r^2 * h"""
return math.pi * radius**2 * height
def cone_volume(self, radius, height):
"""Вычисляет объём конуса: (1/3) * π * r^2 * h"""
return (1/3) * math.pi * radius**2 * height
def sphere_volume(self, radius):
"""Вычисляет объём шара: (4/3) * π * r^3"""
return (4/3) * math.pi * radius**3
# Пример использования:
v = Volumes()
r = 3
h = 7
print(f"Радиус: {r}, Высота: {h}")
print(f"Объём цилиндра: {v.cylinder_volume(r, h):.2f}")
print(f"Объём конуса: {v.cone_volume(r, h):.2f}")
print(f"Объём шара: {v.sphere_volume(r):.2f}")
Создать класс Автомобиль. И реализовать функции для изменения атрибутов класса (Марка, цвет, год выпуска, объем двигателя).
class Car:
def __init__(self, brand, color, year, engine_volume):
self.brand = brand
self.color = color
self.year = year
self.engine_volume = engine_volume
def set_brand(self, new_brand):
self.brand = new_brand
def set_color(self, new_color):
self.color = new_color
def set_year(self, new_year):
self.year = new_year
def set_engine_volume(self, new_volume):
self.engine_volume = new_volume
def display_info(self):
print(f"Марка: {self.brand}")
print(f"Цвет: {self.color}")
print(f"Год выпуска: {self.year}")
print(f"Объём двигателя: {self.engine_volume} л")
# Пример использования:
my_car = Car("Toyota", "Серый", 2018, 2.0)
my_car.display_info()
print("\nИзменяем цвет и объём двигателя...\n")
my_car.set_color("Красный")
my_car.set_engine_volume(2.5)
my_car.display_info()
Создать класс Робот-пылесос. И реализовать функции для изменения атрибутов класса (Уровень заряда, список комнат).
class RobotVacuum:
def __init__(self, battery_level, rooms):
self.battery_level = battery_level # Уровень заряда (0–100)
self.rooms = rooms # Список комнат
def set_battery_level(self, new_level):
if 0 <= new_level <= 100:
self.battery_level = new_level
else:
print("Ошибка: Уровень заряда должен быть от 0 до 100.")
def add_room(self, room):
if room not in self.rooms:
self.rooms.append(room)
else:
print(f"Комната '{room}' уже есть в списке.")
def remove_room(self, room):
if room in self.rooms:
self.rooms.remove(room)
else:
print(f"Комната '{room}' не найдена.")
def display_status(self):
print(f"Уровень заряда: {self.battery_level}%")
print(f"Комнаты для уборки: {', '.join(self.rooms)}")
# Пример использования:
vacuum = RobotVacuum(85, ["Гостиная", "Кухня"])
vacuum.display_status()
print("\nИзменяем уровень заряда и добавляем комнату...\n")
vacuum.set_battery_level(95)
vacuum.add_room("Спальня")
vacuum.remove_room("Кухня")
vacuum.display_status()
Создайте класс Прямоугольник, который имеет атрибуты «ширина» и «высота», и методы для возвращения площади прямоугольника и возвращения периметра прямоугольника.
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
"""Возвращает площадь прямоугольника"""
return self.width * self.height
def perimeter(self):
"""Возвращает периметр прямоугольника"""
return 2 * (self.width + self.height)
def display_info(self):
print(f"Ширина: {self.width}, Высота: {self.height}")
print(f"Площадь: {self.area()}")
print(f"Периметр: {self.perimeter()}")
# Пример использования:
rect = Rectangle(5, 10)
rect.display_info()
