| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
class Wallet:    def __init__(self, currency, balance):        if not isinstance(currency, str):            raise TypeError("Неверный тип валюты")        elif len(currency) != 3:            raise NameError("Неверная длина названия валюты")        elif not currency.isupper():            raise ValueError("Название должно состоять только из заглавных букв")        self.currency = currency        self.balance = balance    def __eq__(self, value):        if not isinstance(value, Wallet):            raise TypeError(f"Wallet не поддерживает сравнение с {value}")        elif self.currency != value.currency:            raise ValueError("Нельзя сравнить разные валюты")        else:            return self.balance == value.balance            def __add__(self, value):        if not isinstance(value, Wallet):            raise ValueError("Данная операция запрещена")        elif self.currency != value.currency:            raise ValueError("Данная операция запрещена")        else:            return Wallet(self.currency, self.balance + value.balance)    def __sub__(self, value):        if not isinstance(value, (Wallet)):            raise ValueError("Данная операция запрещена")        elif self.currency != value.currency:            raise ValueError("Данная операция запрещена")        else:            return Wallet(self.currency, self.balance - value.balance)def main():    '''    wallet1 = Wallet('USD', 50)    wallet2 = Wallet('RUB', 100)    wallet3 = Wallet('RUB', 150)    wallet4 = Wallet(12, 150)  # исключение TypeError('Неверный тип валюты')    wallet5 = Wallet('qwerty', 150)  # исключение NameError('Неверная длина названия валюты')    wallet6 = Wallet('abc', 150)  # исключение ValueError('Название должно состоять только из заглавных букв')    print(wallet2 == wallet3)  # False    print(wallet2 == 100)  # TypeError('Wallet не поддерживает сравнение с 100')    print(wallet2 == wallet1)  # ValueError('Нельзя сравнить разные валюты')    wallet7 = wallet2 + wallet3    print(wallet7.currency, wallet7.balance)  # печатает 'RUB 250'    wallet2 + 45  # ValueError('Данная операция запрещена')    '''    '''    try:        int('sdfawsdf')    except ValueError:        print('!!!!')    '''if __name__ == '__main__':    main()
 |