Python Bài 11.A3: Tài khoản ngân hàng
LÀM BÀI
Points:
10 (partial)
Time limit:
2.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Python
Mô tả
Tạo class BankAccount với thuộc tính private và getter/setter.
INPUT FORMAT
- Dòng 1: N (số lệnh)
- N dòng tiếp theo, mỗi lệnh có một trong các định dạng:
- NEW acc_num: tạo tài khoản mới
- DEP id amount: nạp tiền
- WD id amount: rút tiền
- BAL id: xem số dư
- INFO id: xem thông tin tài khoản
OUTPUT FORMAT
- NEW: "Created account id={id}"
- DEP: "Deposited {amount}"
- WD: "Withdrawn {amount}" hoặc "Insufficient balance"
- BAL: Số dư hiện tại
- INFO: Thông tin tài khoản
Ví dụ
Input:
6
NEW A001
DEP 1 1000
WD 1 300
WD 1 800
BAL 1
INFO 1
Output:
Created account id=1
Deposited 1000
Withdrawn 300
Insufficient balance
700
Account: A001, Balance: 700
Giải thích ví dụ
NEW A001:
- Tạo tài khoản mới với số A001
- Số dư ban đầu = 0
- Hệ thống gán id=1
DEP 1 1000:
- Nạp 1000 vào tài khoản id=1
- Số dư mới = 0 + 1000 = 1000
WD 1 300:
- Rút 300 từ tài khoản id=1
- Số dư mới = 1000 - 300 = 700
WD 1 800:
- Thử rút 800 (lớn hơn số dư 700)
- Báo lỗi "Insufficient balance"
BAL 1 và INFO 1:
- Hiển thị số dư và thông tin tài khoản
- Số dư vẫn là 700
Kiến thức cần nắm
Encapsulation:
- Private attributes (__balance, __account_number)
- Getter/Setter methods
- Kiểm tra điều kiện trước khi thay đổi dữ liệu
Comments