مثال حلشده
مقدماتی حساب بانکی
صورت مسئله
حسابی با موجودی اولیهٔ ۱۰۰ بساز، ۵۰ واریز کن، ۲۰۰ برداشت کن (باید رد شود) و موجودی نهایی را نشان بده.
راهحل گامبهگام
۴ گام باقی مانده
class BankAccount:
def __init__(self, owner, balance=0.0):
if balance < 0:
raise ValueError("موجودی اولیه نمیتواند منفی باشد.")
self.owner = owner
self._balance = balance
def deposit(self, amount):
if amount <= 0:
raise ValueError("مبلغ واریز باید مثبت باشد.")
self._balance += amount
def withdraw(self, amount):
if amount <= 0:
raise ValueError("مبلغ برداشت باید مثبت باشد.")
if amount > self._balance:
raise ValueError("موجودی کافی نیست.")
self._balance -= amount
@property
def balance(self):
return self._balance
acc = BankAccount("علی", 100)
acc.deposit(50)
try:
acc.withdraw(200)
except ValueError as e:
print("رد شد:", e)
print(acc.balance) # 150