You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

64 line
1.5 KiB

  1. from random import randint
  2. class Robot:
  3. def __init__(self):
  4. self._nom = None
  5. def nom(self):
  6. return self._nom
  7. def démarre(self):
  8. if self._nom is None:
  9. self._nom = nom_robot()
  10. def éteint(self):
  11. pass
  12. def réinitialise(self):
  13. self._nom = None
  14. def chiffre_nom():
  15. return str(randint(0, 9))
  16. def lettre_nom():
  17. return chr(ord("A") + randint(0, 25))
  18. def nom_robot():
  19. return lettre_nom() + lettre_nom() + chiffre_nom() + chiffre_nom() + chiffre_nom()
  20. def main():
  21. robot = Robot()
  22. print("Le premier robot n'a pas encore de nom")
  23. print("La ligne suivante doit afficher None")
  24. print("01", robot.nom())
  25. print("On démarre le premier robot")
  26. robot.démarre()
  27. print("Le permier robot a maintenant un nom")
  28. print("La ligne suivante doit afficher un nom au hasard")
  29. print("02", robot.nom())
  30. print("Le nom ne change pas tant que le robot n'est pas re-initialisé")
  31. print("La ligne suivante doit afficher le même nom que la ligne 02")
  32. robot.éteint()
  33. robot.démarre()
  34. print("03", robot.nom())
  35. print("Le nom est effacé quand on réinitialise le robot")
  36. print("La ligne suivante doit afficher None")
  37. robot.réinitialise()
  38. print("04", robot.nom())
  39. print("Un nouveau nom est généré quand on re-démarre le robot")
  40. print("La ligne suivante doit afficher un nom différent de la ligne 03")
  41. robot.démarre()
  42. print("05", robot.nom())
  43. main()