Revenir "plus haut" dans un code python
Giroulas
Messages postés
11
Statut
Membre
-
Nxl Messages postés 1257 Statut Membre -
Nxl Messages postés 1257 Statut Membre -
Bonjour,
Actuellement en STI2D SIN (Système Information et Numérique) je dois réaliser un programme pour la fin de l'année (à finir d'ici 1 mois). Avec notre groupe, nous avons donc choisi de réaliser une Alarme d'Habitation connectée. Avec site, envoie de mail et connexion des capteurs à la base principale (carte RaspberryPi) par radio.
Mon problème est plutôt simple je pense, mais je n'ai pas suffisamment de connaissance en python pour le résoudre et mes recherches sur internet ont été infructueuse.
Voici mon code :
Ce que je souhaite faire, c'est qu'une fois que mon code vois que la fonction etat_alarme est à 0 (cf les 2 **), il doit pouvoir revenir dans le premier while (cf la flèche "-->").
Donc ma question est, est-il possible de revenir plus haut dans mon code, c'est à dire au "while 1" après qu'il y soit déjà passé et ait exécuté d'autre while et for ?
Merci de votre lecture.
Cordialement.
Actuellement en STI2D SIN (Système Information et Numérique) je dois réaliser un programme pour la fin de l'année (à finir d'ici 1 mois). Avec notre groupe, nous avons donc choisi de réaliser une Alarme d'Habitation connectée. Avec site, envoie de mail et connexion des capteurs à la base principale (carte RaspberryPi) par radio.
Mon problème est plutôt simple je pense, mais je n'ai pas suffisamment de connaissance en python pour le résoudre et mes recherches sur internet ont été infructueuse.
Voici mon code :
from Testmail import mail
from Testmail2 import maill
import time
import pigpio
import vw
import mysql.connector
import time
#!/usr/bin/env python
# -*- coding: utf-8 -*-
ILS = "Alerte_capteur_ILS"
IR = "Alerte_capteur_IR"
REPOS = "Repos_capteur"
RX=11
BPS=2000
pi = pigpio.pi()
rx = vw.rx(pi, RX, BPS)
-->while 1:
conn = mysql.connector.connect(host="localhost", user="root", password="raspberry", database="alarme")
cursor = conn.cursor()
cursor.execute("""SELECT * FROM etat_capteurs""")
rows = cursor.fetchall()
for row in rows:
etat_alarme = row[1]
print(etat_alarme)
- if (etat_alarme == 1): print("Activation de l'alarme...")# time.sleep(3) print ("Chargement du programme, veuillez patienter...")# time.sleep(3) start = time.time() print("En attente de la reception des données !") print (" ") un_mail_repos = 0 temps_repos = time.time() temps_mail = time.time() while (etat_alarme == 1): while rx.ready(): reception = "".join(chr (c) for c in rx.get()) if (reception == str(REPOS)): temps_repos = time.time() elif (reception == str(ILS) and (time.time()-temps_mail) > 3): print("ILS actif") temps_repos = time.time() mail() temps_mail = time.time() elif (reception == str(IR) and (time.time()-temps_mail) > 3): print("IR actif") temps_repos = time.time() mail() temps_mail = time.time() if (un_mail_repos == 0): if (time.time()-temps_repos) > 15: maill() print ("MAIL REPOS") temps_repos = time.time() un_mail_repos = 1pi.stop()rx.cancel()conn.close()
Ce que je souhaite faire, c'est qu'une fois que mon code vois que la fonction etat_alarme est à 0 (cf les 2 **), il doit pouvoir revenir dans le premier while (cf la flèche "-->").
Donc ma question est, est-il possible de revenir plus haut dans mon code, c'est à dire au "while 1" après qu'il y soit déjà passé et ait exécuté d'autre while et for ?
Merci de votre lecture.
Cordialement.
A voir également:
- Revenir "plus haut" dans un code python
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Citizen code python - Accueil - Outils
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
3 réponses
Utilise l'instruction continue
Un exemple sur Python break, continue and pass Statements
La référence: More Control Flow Tools
Ce serait évidemment préférable d'utiliser du code structuré et d'éviter les sauts.
NB Indente ton code et utilise les balises adéquates. C'est imbuvable et on ne va pas refaire ton boulot.
Un exemple sur Python break, continue and pass Statements
La référence: More Control Flow Tools
Ce serait évidemment préférable d'utiliser du code structuré et d'éviter les sauts.
NB Indente ton code et utilise les balises adéquates. C'est imbuvable et on ne va pas refaire ton boulot.