Domanda aperta
Lezione 5 di 11 del corso Generatore di quiz - Progetto OOP in Python di Coddy.
Sfida
FacileCrea una classe OpenQuestion che eredita da Question e implementa il costruttore e i metodi print e check della classe Question.
Costruttore - dovrebbe ricevere una stringa e un elenco di stringhe e salvarli nei campi question e answers, rispettivamente.
Metodo print - stampa la domanda nel formato '[?] {question}'
Ad esempio, se la domanda è 'Are you experienced programmer?', il metodo dovrebbe stampare '[?] Are you experienced programmer?'
Metodo check - restituisce True se la stringa di input (la risposta) è inclusa nel campo answers, altrimenti False.
Ad esempio, per answers = ['yes', 'maybe'] se check('yes') restituisce True, se check('nope') restituisce False
Provalo tu
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)
Tutte le lezioni di Generatore di quiz - Progetto OOP in Python
Esercitati da solo: Compilatore Python online