Bonjour à tous,
Je suis un lycéen confiné, et un de mes profs nous a demandé de faire des exercices d'initiation en écriture python.
Voici l'exercice, sur lequel je bloque depuis plusieurs jours sans parvenir à trouver où est mon erreur :
Voici l'exercice :
Écrivez un programme qui toutes les 50ms, allume la LED verte si la température est entre 16 et 18 degrés inclus, et la LED rouge sinon. L'autre LED doit être éteinte.
Votre programme ne peut contenir qu'une seule fois l'instruction if.
Votre programme doit commencer par la ligne : from quickpi import *
Les fonctions disponibles pour contrôler le robot sont :
readTemperature(thermometer) retourne la température ambiante
setLedState(led, state) modifie l'état de la LED : True pour l'allumer, False pour l'éteindre
sleep(milliseconds) met en pause l'exécution pendant une durée en ms
Les mots-clés suivants sont autorisés : while, if, else, elif, and, or.
Les mots-clés suivants sont interdits : for, not, list, set, crochets [ ], accolades { }, variables, def, lambda, break, continue, setattr, map, split.
Les variables sont interdites.
Voici ma programmation :
Au test de validation, lancé aux températures successives de 15, 19, 16 et 18, mon programme est rejeté pour l'erreur suivante : "test échoué: green1 a été dans l'état off au lieu de on à t=100ms
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 from quickpi import * while True: readTemperature("thermometer1") if (16<"thermometer1"<=18): setLedState("green1", True) and setLedState("red1", False) else: setLedState("red1", True) and setLedState("green1", False) sleep(50)
Je n'arrive pas à avancer !
Merci de votre aide !
Partager