| @@ -0,0 +1,65 @@ | |||
| def parse(entrée_utilisateur): | |||
| premiere_lettre = entrée_utilisateur[0] | |||
| if premiere_lettre == "+": | |||
| return ("ajouter", entrée_utilisateur[2:]) | |||
| elif premiere_lettre == "-": | |||
| return ("supprimer", int(entrée_utilisateur[2:])) | |||
| elif premiere_lettre == "x": | |||
| return ("marquer_fait", int(entrée_utilisateur[2:])) | |||
| elif premiere_lettre == "o": | |||
| return ("marquer_non_fait", int(entrée_utilisateur[2:])) | |||
| elif premiere_lettre == "q": | |||
| return ("quitter", None) | |||
| class ChoseAfaire: | |||
| def __init__(self, contenu: str, fait: bool): | |||
| self.contenu = contenu | |||
| self.fait = fait | |||
| class PenseBete: | |||
| # index commence à 1! | |||
| def __init__(self): | |||
| self.liste = [] | |||
| def ajouter(self, chose_à_faire): | |||
| self.liste.append(chose_à_faire) | |||
| def supprimer(self, index): | |||
| del self.liste[index - 1] | |||
| def marquer_fait(self, index): | |||
| self.liste[index - 1].fait = True | |||
| def marquer_non_fait(self, index): | |||
| self.liste[index - 1].fait = False | |||
| def afficher(self): | |||
| for chose_à_faire in self.liste: | |||
| if chose_à_faire.fait == True: | |||
| print("[x]", chose_à_faire.contenu) | |||
| else: | |||
| print("[ ]", chose_à_faire.contenu) | |||
| def main(): | |||
| pense_bete = PenseBete() | |||
| while True: | |||
| pense_bete.afficher() | |||
| entrée_utilisateur = input() | |||
| action, argument = parse(entrée_utilisateur) | |||
| if action == "ajouter": | |||
| chose_à_faire = ChoseAfaire(argument, False) | |||
| pense_bete.ajouter(chose_à_faire) | |||
| elif action == "supprimer": | |||
| pense_bete.supprimer(argument) | |||
| elif action == "marquer_fait": | |||
| pense_bete.marquer_fait(argument) | |||
| elif action == "marquer_non_fait": | |||
| pense_bete.marquer_non_fait(argument) | |||
| elif action == "quitter": | |||
| break | |||
| main() | |||