Pertanyaan Terbuka
Pelajaran 5 dari 11 dalam kursus Generator Kuis: Proyek OOP Python di Coddy.
Tantangan
MudahBuat class OpenQuestion yang mewarisi Question dan mengimplementasikan konstruktor serta method print dan check dari class Question.
Konstruktor - harus menerima string dan list berisi string, lalu menyimpannya masing-masing di field question dan answers.
Method print - mencetak pertanyaan dengan format '[?] {question}'
Contohnya, jika pertanyaannya adalah 'Are you experienced programmer?',, method tersebut harus mencetak '[?] Are you experienced programmer?'
Method check - mengembalikan True jika string input (jawaban) terdapat di field answers, jika tidak, mengembalikan False.
Contohnya, untuk answers = ['yes', 'maybe'], jika check('yes') mengembalikan True, dan jika check('nope') mengembalikan False
Coba sendiri
from abc import ABC, abstractmethod
class Question(ABC):
@abstractmethod
def print(self):
pass
@abstractmethod
def check(self, answer):
pass
class YesNoQuestion(Question):
def __init__(self, question, answer):
self.question = question
self.answer = answer
def print(self):
print('[?] ' + self.question + ' (yes/no)')
def check(self, answer):
return (answer == 'yes' and self.answer) or \
(answer == 'no' and not self.answer)
Semua pelajaran di Generator Kuis: Proyek OOP Python
Latihan sendiri: Compiler Python online