Дополнительные сведения о проблеме:
- Инициализируйте current_balance в 0 и available_credit в 10,000.
- Завершите метод makePurchase, который добавляет текущий баланс и убирает доступный кредит.Это означает, что возникнет исключение, если будет предпринята попытка приобрести больше, чем доступно.
- Напишите второй метод makePayment, в качестве параметра которого указана сумма, которая уменьшает текущий баланс и добавляет к доступному кредиту.
Мой текущий код:
class CreditCard:
""" BankAccount class for representing an account within a bank. """
def __init__(self):
""" initialize the current_balance """
self.current_balance = 0 #initialize current balance
self.available_credit = 10000 #initialize available credit
def getBalance(self):
""" return the current_balance """
return self.current_balance
def getAvailableCredit(self):
""" return the available_credit """
return self.available_credit
def makePurchase(self, amount):
try:
if (amount <= self.available_credit):
return (self.available_credit - amount) #deduct from available credit
return (amount + self.current_balance) #increment current balance
else:
raise Exception('Insufficient funds!')
except Exception as error:
print('Purchase Error: ' + str(error)+'\n')
def makePayment(self, payment): #write a payment function
try:
if (payment <= self.current_balance):
return(payment + self.available_credit) #increases available_credit by amount
return(self.current_balance - payment) #reduces current balance by amount
else:
raise Exception('Payment larger than outstanding balance!')
except Exception as error:
print('Payment Error: ' + str(error)+'\n')
Вторая часть проблемы (не указана) просит выполнить следующие транзакции:
- Показать доступный кредит
- Сделать покупку на сумму 1237
- Показать доступный баланс
- Сделать платеж на сумму 100
- Сделать покупку$ 11.50
- Просмотр доступного баланса
- Просмотр доступного кредита
- Сделайте покупку на сумму $ 8 900.
Каждый раз, когда я совершаю транзакцию, онаделает это из исходного баланса, а не из текущего баланса.Например, я использовал следующий код при совершении покупки за 8 900 долларов:
In: print(cc.makePurchase(8900))
Out: 1100 #should be getting an error instead due to over-drafting the account.
Любая помощь очень ценится!