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ụ

  1. 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
  2. DEP 1 1000:

    • Nạp 1000 vào tài khoản id=1
    • Số dư mới = 0 + 1000 = 1000
  3. WD 1 300:

    • Rút 300 từ tài khoản id=1
    • Số dư mới = 1000 - 300 = 700
  4. WD 1 800:

    • Thử rút 800 (lớn hơn số dư 700)
    • Báo lỗi "Insufficient balance"
  5. 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

There are no comments at the moment.

Zalo