Menu
CoddyTech

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.

challenge icon

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