python-239Đọc toàn bộ đề miễn phí

Lớp ví đơn giản có kiểm tra số dư

Lớp là cách gom dữ liệu và quy tắc bảo vệ dữ liệu vào một chỗ. Chiếc ví là ví dụ nhỏ

PythonCơ bản15 phút

Tiến độ của tôi ở bài này

Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

oopclassencapsulationvalidationentry-ramp

Kiến thức tiên quyết: python-basics, python-classes-intro.

Nội dung đề bài

Mô tả bài toán

Lớp là cách gom dữ liệu và quy tắc bảo vệ dữ liệu vào một chỗ. Chiếc ví là ví dụ nhỏ nhất cho thấy vì sao cần đóng gói: số dư chỉ được thay đổi qua nạp và rút, kèm kiểm tra hợp lệ.

Yêu cầu

Cài đặt lớp SimpleWallet với ba thành phần:

  • init(self, initial): lưu số dư ban đầu; ném ValueError nếu initial âm.
  • deposit(self, amount): cộng tiền vào số dư; ném ValueError nếu amount không dương.
  • withdraw(self, amount): trừ tiền khỏi số dư; ném ValueError nếu amount không

dương hoặc lớn hơn số dư hiện tại.

  • balance(self): trả về số dư hiện tại.

Quy ước nộp bài

Nộp lớp SimpleWallet trong solution.py. Hệ thống khởi tạo lớp và gọi phương thức trực tiếp, có kiểm tra ngoại lệ ValueError; không dùng stdin/stdout.

Input

Hệ thống khởi tạo lớp bằng initial, sau đó gọi lần lượt các phương thức theo kịch bản của từng bộ test.

Output

Giá trị trả về của từng phương thức, theo đúng thứ tự được gọi. deposit và withdraw trả về None.

Ràng buộc

  • initial và mọi amount là số thực.
  • Gọi withdraw với số lớn hơn số dư phải ném ValueError, không được để số dư âm.

Ví dụ 1

Input

SimpleWallet(init={"initial": 100}, methods=[{"method": "deposit", "args": [50]}, {"method": "withdraw", "args": [30]}, {"method": "balance"}])

Output

[null, null, 120.0]

Ví dụ 2

Input

SimpleWallet(init={"initial": 0}, methods=[{"method": "balance"}])

Output

[0.0]

Giải thích

Với initial = 100, gọi deposit(50), withdraw(30), balance() thì giá trị cuối cùng là 120.0.

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.

Nhóm Zalo