Câu hỏi có/không
Bài học 4 trên 11 trong khóa học Dự án Python OOP: tạo trắc nghiệm của Coddy.
Thử thách
DễTạo lớp YesNoQuestion kế thừa từ Question và triển khai hàm khởi tạo cùng các phương thức print và check của lớp Question.
Hàm khởi tạo - nhận một chuỗi và một giá trị boolean, rồi lần lượt lưu chúng vào các trường question và answer.
Phương thức print - in câu hỏi theo định dạng '[?] {question} (yes/no)'
Ví dụ, nếu câu hỏi là 'Are you experienced programmer?', phương thức sẽ in '[?] Are you experienced programmer? (yes/no)'
Phương thức check - trả về True nếu chuỗi đầu vào là 'yes' và answer (trường của lớp) là True, hoặc nếu chuỗi đầu vào là 'no' và answer là False, nếu không thì trả về False.
Tự làm thử
from abc import ABC, abstractmethod
class Question(ABC):
@abstractmethod
def print(self):
pass
@abstractmethod
def check(self, answer):
pass
Tất cả bài học trong Dự án Python OOP: tạo trắc nghiệm
Tự luyện tập: Trình biên dịch Python online