import random # Класс Coin имитирует монету, которую # можно подбрасывать (теперь это модуль, который хранится в файле). class Coin: # Метод __init__ инициализирует # атрибут данных __sideup значением 'Орел'. def __init__(self) -> None: self.__sideup = 'Орел' # Метод toss генерирует случайное число # в диапазоне от 0 до 1. Если это число # равно 0, то __sideup получает значение 'Орел'. # В противном случае sideup получает значение 'Решка'. def toss(self): if random.randint(0, 1) == 0: self.__sideup = 'Орел' else: self.__sideup = 'Решка' def get_sideup(self): return self.__sideup # Класс BankAccount имитирует банковский счет. class BankAccaunt: # Метод __init__ принимает аргумент # с остатком на счете. # Он присваивается атрибуту __balance. def __init__(self, bal) -> None: self.__balance = bal # Метод __str__ вызывается не напрямую, а автоматически # во время передачи объекта в качестве аргумента в функцию print def __str__(self) -> str: return f'Остаток составляет: ${self.__balance:,.2f}' def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if self.__balance >= amount: self.__balance -= amount else: print('Ошибка: недостаточно средств') def get_balance(self): return self.__balance # Класс CellPhone содержит данные о сотовом телефоне class CellPhone: def __init__(self, manufact='Simens', model='c55', price=120) -> None: self.__manufact = manufact self.__model = model self.__retail_price = price def set_manufact(self, manufact): self.__manufact = manufact def set_model(self, model): self.__model = model def set_retail_price(self, price): self.__retail_price = price def get_manufact(self): return self.__manufact def get_model(self): return self.__model def get_retail_price(self): return self.__retail_price