Comment intégrer une fonction if dans while
le_codeur_nul
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un petit script Python qui affiche l'heure en temps réel
le voici :
ps : je vous montre que le code pas les modules importés
je voudrais intégrer une fonction if pour que ce script réagisse à une heure précise,
je vous explique :
donc , si il est 14h il affiche démarage de la séquence mais je voudrais les fusionner pour que
ce script puisse m'afficher --demarage de la sequence-- ou --pas d'actions-- à chaque fois que l'heure s'affiche pour que vous puissiez comprendre un peut plus voici le code complet :
merci d'avance !
J'ai un petit script Python qui affiche l'heure en temps réel
le voici :
ps : je vous montre que le code pas les modules importés
infinite = 1 while infinite == 1 : print("[TIME] :") print(time.ctime()) time.sleep(1)
je voudrais intégrer une fonction if pour que ce script réagisse à une heure précise,
je vous explique :
if now.strftime("%H") == 14 : { print("[EVENT]:") } { print("--demarage de la sequence--") } { print("---------------------") } { print("") } else : { print("[EVENT]:") } { print("--pas d'actions--") } { print("---------------------") } { print("") }
donc , si il est 14h il affiche démarage de la séquence mais je voudrais les fusionner pour que
ce script puisse m'afficher --demarage de la sequence-- ou --pas d'actions-- à chaque fois que l'heure s'affiche pour que vous puissiez comprendre un peut plus voici le code complet :
print("[DATE DE DEBUT] :") print (now.strftime("%Y-%m-%d %H:%M:%S")) print("---------------------") infinite = 1 while infinite == 1 : print("[TIME] :") print(time.ctime()) time.sleep(1) if now.strftime("%H") == 14 : { print("[EVENT]:") } { print("--demarage de la sequence--") } { print("---------------------") } { print("") } else : { print("[EVENT]:") } { print("--pas d'actions--") } { print("---------------------") } { print("") }
merci d'avance !
A voir également:
- Comment intégrer une fonction if dans while
- Fonction si et - Guide
- Intégrer une vidéo dans un powerpoint - Guide
- Intégrer une liste déroulante dans excel - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
2 réponses
Bonjour,
La base en python, c'est de respecter les indentations de code, or là il me semble que tu as copié collé ton code (issu d'ailleurs d'un autre langage, non ? C'est quoi ces accolades ?) sans y prêter attention.
Il suffit donc de nettoyer un peu tout ça :
Par contre, écrit tel quel, cela va générer le démarrage de la séquence toutes les secondes pendant une heure.
Tu devrais trouver un moyen de ne le faire qu'une fois par jour, par exemple en gardant en mémoire le jour de dernier déclenchement et en vérifiant qu'il a changé (c'est un exemple de solution, tu peux aussi utiliser un booléen qui bascule à VRAI quand on lance la séquence et revient à FALSE dès que l'heure ne vaut plus 14...)
Xavier
La base en python, c'est de respecter les indentations de code, or là il me semble que tu as copié collé ton code (issu d'ailleurs d'un autre langage, non ? C'est quoi ces accolades ?) sans y prêter attention.
Il suffit donc de nettoyer un peu tout ça :
print("[DATE DE DEBUT] :") print (now.strftime("%Y-%m-%d %H:%M:%S")) print("---------------------") infinite = 1 while infinite == 1 : print("[TIME] :") print(time.ctime()) if now.strftime("%H") == 14 : print("[EVENT]:") print("--demarage de la sequence--") print("---------------------") print("") else : print("[EVENT]:") print("--pas d'actions--") print("---------------------") print("") time.sleep(1)
Par contre, écrit tel quel, cela va générer le démarrage de la séquence toutes les secondes pendant une heure.
Tu devrais trouver un moyen de ne le faire qu'une fois par jour, par exemple en gardant en mémoire le jour de dernier déclenchement et en vérifiant qu'il a changé (c'est un exemple de solution, tu peux aussi utiliser un booléen qui bascule à VRAI quand on lance la séquence et revient à FALSE dès que l'heure ne vaut plus 14...)
Xavier