Помогите пожалуйста с задачами на пайтон
1. Создайте класс «Город». Необходимо хранить в полях класса: название города, название региона, название страны, количество жителей в городе, почтовый индекс города, телефонный код города. Реализуйте методы класса для ввода данных, вывода данных.
2. Создайте класс «Дробь». Необходимо хранить в полях класса: числитель и знаменатель. Реализуйте методы класса для ввода данных и вывода данных. Также создайте методы класса для выполнения арифметических операций (сложение, вычитание, умножение, деление, и т.д.).
3. Создайте класс для подсчета максимума из четырех аргументов, минимума из четырех аргументов, среднеарифметического из четырех аргументов.
4. Создайте класс для подсчета площади геометрических фигур. Класс должен предоставлять функциональность для подсчета площади треугольника по разным формулам, площади прямоугольника, площади квадрата.
5. К уже реализованному классу « Город » добавьте деструктор, а также необходимые перегруженные методы.
Ответы
Класс "Город"
class City:
def __init__(self, name, region, country, population, zip_code, phone_code):
self.name = name
self.region = region
self.country = country
self.population = population
self.zip_code = zip_code
self.phone_code = phone_code
def input_data(self):
self.name = input("Введите название города: ")
self.region = input("Введите название региона: ")
self.country = input("Введите название страны: ")
self.population = int(input("Введите количество жителей в городе: "))
self.zip_code = input("Введите почтовый индекс города: ")
self.phone_code = input("Введите телефонный код города: ")
def display_data(self):
print(f"Город: {self.name}")
print(f"Регион: {self.region}")
print(f"Страна: {self.country}")
print(f"Население: {self.population}")
print(f"Почтовый индекс: {self.zip_code}")
print(f"Телефонный код: {self.phone_code}")
def __str__(self):
return f"{self.name}, {self.region}, {self.country}"
def __eq__(self, other):
if isinstance(other, City):
return self.name == other.name and self.region == other.region and self.country == other.country
return False
def __del__(self):
print(f"Объект {self.name} удален")
Класс "Дробь"
class Fraction:
def __init__(self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
def input_data(self):
self.numerator = int(input("Введите числитель: "))
self.denominator = int(input("Введите знаменатель: "))
def display_data(self):
print(f"{self.numerator}/{self.denominator}")
def __add__(self, other):
numerator = self.numerator * other.denominator + self.denominator * other.numerator
denominator = self.denominator * other.denominator
return Fraction(numerator, denominator)
def __sub__(self, other):
numerator = self.numerator * other.denominator - self.denominator * other.numerator
denominator = self.denominator * other.denominator
return Fraction(numerator, denominator)
def __mul__(self, other):
numerator = self.numerator * other.numerator
denominator = self.denominator * other.denominator
return Fraction(numerator, denominator)
def __truediv__(self, other):
numerator = self.numerator * other.denominator
denominator = self.denominator * other.numerator
return Fraction(numerator, denominator)
def __str__(self):
return f"{self.numerator}/{self.denominator}"
Класс для подсчета максимума, минимума и среднеарифметического
class Math:
def __init__(self, a, b, c, d):
self.a = a
self.b = b
self.c = c
self.d = d
def find_max(self):
return max(self.a, self.b, self.c, self.d)
def find_min(self):
return min