Apr 16, 2025 | 293 words | 3 min read
11.2.4. Bank Accounts#
Instructions#
Write a class named Account
with an attribute named balance
that tracks the amount of money in the account, and methods named
deposit
, withdraw
, and get_balance
. During
instantiation, the balance
attribute should be set, and a line stating
the new account balance should be printed. The deposit
method has an
amount parameter, should print the amount being deposited, and also add that
amount to the account’s balance. The withdraw
method also has an
amount parameter, should print the amount being withdrawn, and subtract that
amount from the account’s balance. If the account’s balance is less than the
amount being withdrawn, the withdrawal should be canceled (e.g. an error will be
printed and nothing will be subtracted from the account balance). The
get_balance
method simply prints the account’s balance.
Note
Neither deposit
nor withdraw
print the account balance.
Next, write a Savings
class that inherits from Account
. This
class should have all the same attributes and methods as Account
plus
an attribute named interest_rate
and a method named
accrue_interest
. This method calculates an interest payment by
multiplying the account’s balance by the interest rate. Then it prints the
amount of the interest payment and adds it to the account’s balance.
In the main
function of your program, instantiate an instance of the
Savings
class with a $\(200\) balance and an interest rate of
\(10\%\). Then make deposits, withdrawals, and interest payments to
match the account activity shown in the sample below.
Sample Output#
Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.
Sample Output
$ python3 bank_accounts_login.py New account balance: $200.00 Balance: $200.00 Deposit: $12.34 Balance: $212.34 Withdraw: $40.00 Balance: $172.34 Withdraw: $200.00 Insufficient funds. Withdrawal canceled. Balance: $172.34 Interest payment: $17.23 Interest payment: $18.96 Interest payment: $20.85 Withdraw: $200.00 Balance: $29.38
Deliverables#
Save your finished program as bank_accounts_login.py
,
replacing login
with your Purdue login. Then submit it along with
all the deliverables listed in
Table 11.6 below.
Deliverable |
Description |
---|---|
|
Your finished program. |
Screenshot(s) |
PNG(s) capturing the test case. |