|
- 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()
|