From a4283aa138b2893e0ff6ba666b7755d356f6310c Mon Sep 17 00:00:00 2001 From: Nikoaly <74960807+Nikoaly@users.noreply.github.com> Date: Thu, 27 Apr 2023 20:52:32 +0300 Subject: [PATCH] Update IBank_part1_1.py --- Module8/practice/IBank/IBank_part1_1.py | 37 +++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/Module8/practice/IBank/IBank_part1_1.py b/Module8/practice/IBank/IBank_part1_1.py index fbcacd0e4..b7a3acda0 100644 --- a/Module8/practice/IBank/IBank_part1_1.py +++ b/Module8/practice/IBank/IBank_part1_1.py @@ -1,3 +1,7 @@ +from typing import List +import pytest + + class Account: def __init__(self, name: str, passport: str, phone_number: str, start_balance: int = 0): self.name = name @@ -9,13 +13,42 @@ def full_info(self) -> str: """ Полная информация о счете в формате: "Иван баланс: 100 руб. паспорт: 3200 123456 т.+7-900-200-02-03" """ - return f"..." + return f"{self.name} баланс: {self.balance} руб. паспорт: {self.passport} т.{self.phone_number}" def __repr__(self) -> str: """ :return: Информацию о счете в виде строки в формате "Иван баланс: 100 руб." """ - return f"..." + return f"{self.name} баланс: {self.balance} руб." + + def __str__(self) -> str: + """ + :return: Информацию о счете в виде строки в формате "Иван баланс: 100 руб." + """ + return self.__repr__() + + def deposit(self, amount: int) -> None: + """ + Пополнение баланса на сумму amount + """ + self.balance += amount + + def withdraw(self, amount: int) -> None: + """ + Снятие со счета суммы amount, если это возможно + """ + if amount > self.balance: + raise ValueError("Недостаточно средств на счете") + self.balance -= amount + + def transfer(self, other: "Account", amount: int) -> None: + """ + Перевод суммы amount с данного счета на счет other, если это возможно + """ + if amount > self.balance: + raise ValueError("Недостаточно средств на счете") + self.balance -= amount + other.balance += amount account1 = Account("Иван", "3230 634563", "+7-900-765-12-34")