На данный момент, с середины апреля до сегодняшнего дня, я провел около 13 занятий по Python с репетитором из Preply. Я узнал все об основах, переменных, потоках, типах данных условий и т. Д. Сейчас я занимаюсь ООП (объектно-ориентированным программированием), что до сих пор было проблемой, но я думаю, что справляюсь с этим.

class Account:  # parent class (bank account)
    def __init__(self, account_number, balance):
        self.account_number = account_number
        self.balance = balance

    def deposit(self, amount):
        self.balance += amount  # deposits amount to balance
        return f'Your new balance is {self.balance}, you deposited {amount}.'

    def withdraw(self, amount):
        self.balance -= amount  # withdraws amount from balance
        return f'Your new balance is {self.balance}, you withdrawn {amount}.'

    def get_balance(self):
        total_balance = self.balance
        return f'Your current balance is {total_balance}'

class SavingsAccount(Account):
    def __init__(self, account_number, balance, interest_rate):
        super().__init__(account_number, balance)
        self.interest_rate = interest_rate

    def calculate_interest(self):
      interest_rate_calculation = self.balance * self.interest_rate
      return f'Your interest rate is {self.interest_rate} and balance {self.balance}. Total calculated is {interest_rate_calculation}.'


class BusinessAccount(Account):
    def __init__(self, account_number, balance, credit_req):
        super().__init__(account_number, balance)
        self.credit_req = credit_req

    def calculate_credit(self):
        if self.balance > (0.10 * self.credit_req):
            print(f'Credit approved. You now have {self.credit_req} in your bank account.')
            self.balance += self.credit_req
        else:
            print(f'You need to have at least 10% of the credit amount.')

accountX = Account("CZ50", 500)  # object
accountX_interest = SavingsAccount(5, accountX.balance, 0.05)
deposit = accountX.deposit(500)  # deposit to balance
withdraw = accountX.withdraw(200)  # withdraws from balance
credit_request = BusinessAccount("CZ50", accountX.balance, 5000)

print(deposit)
print(withdraw)
print(accountX.get_balance())
print(accountX_interest.calculate_interest())
print(credit_request.calculate_credit())
print(credit_request.get_balance())

Это код, который я сделал для своего мини-проекта по ООП в Python. Я пытаюсь сделать систему управления банковскими счетами.

Это сложно, и я пытаюсь сделать все сам, без помощи Chatgpt или Google.

Дело в том, что это дает мне хорошие результаты, кроме 1, которая не сохраняет правильное значение в self.balance. Я не знаю почему, и я разместил вопрос в Stack Overflow, потому что я совершенно не обращаю внимания на то, что происходит. Я думаю, что это довольно просто, но у меня нет идей! :D

Путешествие продолжится!