[Python] Faire une boucle

Faire une boucle [Python] - Python - Programmation

Marsh Posté le 05-10-2013 à 16:17:02    

J'ai pris un Piglow pour mon raspberry pi http://shop.pimoroni.com/products/piglow  
 
Tout fonctionne, j'ai pris pour le test un fichier python tout fait (aussi pour étudier comment ça marche)  
 
L'idée est de combiner plusieurs de ces scripts en un seul, et que ca tourne en boucle.  
 
Comment puis-je faire la liaison telle que [animation1]-[animation2]-[...] et quoi rajouter à la fin pour faire une boucle?
 
Je précise que je suis un débutant total et que j'ai pris cet engin également pour apprendre.
 
Merci d'avance :jap:

Reply

Marsh Posté le 05-10-2013 à 16:17:02   

Reply

Marsh Posté le 05-10-2013 à 16:36:37    

Bonjour,
la règle du forum est de ne pas écrire le code à la place de celui qui pose la question : commence par nous montrer un peu de code et nous pourrons t'aider. Et si tu veux apprendre Python, Dive into Python est un très bon point de départ.


---------------
rule #1 : trust the python
Reply

Marsh Posté le 05-10-2013 à 16:51:26    

Le code de la partie 1
 

Code :
  1. from piglow import PiGlow
  2. from time import sleep
  3. import psutil
  4. piglow = PiGlow()
  5. while True:
  6.     cpu = psutil.cpu_percent()
  7.     piglow.all(0)
  8.     if cpu < 5:
  9.         piglow.white(90)
  10.     elif cpu < 20:
  11.         piglow.white(70)
  12.         piglow.blue(100)
  13.     elif cpu < 40:
  14.         piglow.white(60)
  15.         piglow.blue(70)
  16.         piglow.green(100)
  17.     elif cpu < 60:
  18.         piglow.white(60)
  19.         piglow.blue(60)
  20.         piglow.green(60)
  21.         piglow.yellow(100)
  22.     elif cpu < 80:
  23.         piglow.white(40)
  24.         piglow.blue(40)
  25.         piglow.green(60)
  26.         piglow.yellow(80)
  27.         piglow.orange(110)
  28.     else:
  29.         piglow.all(120)
  30.     sleep(0.2)


 
la partie 2
 

Code :
  1. from piglow import PiGlow
  2. from time import sleep
  3. piglow = PiGlow()
  4. while True:
  5.     piglow.white(10)
  6.     sleep(0.1)
  7.     piglow.blue(10)
  8.     sleep(0.1)
  9.     piglow.green(10)
  10.     sleep(0.1)
  11.     piglow.yellow(10)
  12.     sleep(0.1)
  13.     piglow.orange(10)
  14.     sleep(0.1)
  15.     piglow.red(10)
  16.     sleep(0.1)
  17.     piglow.red(0)
  18.     sleep(0.1)
  19.     piglow.orange(0)
  20.     sleep(0.1)
  21.     piglow.yellow(0)
  22.     sleep(0.1)
  23.     piglow.green(0)
  24.     sleep(0.1)
  25.     piglow.blue(0)
  26.     sleep(0.1)
  27.     piglow.white(0)
  28.     sleep(0.1)


 
Le principe serait de faire : partie 1 -pause de x secondes- partie 2 et boucle pour revenir à la partie 1

Reply

Marsh Posté le 06-10-2013 à 00:05:36    

Bonsoir,
pourquoi ne pas mettre la première partie dans une fonction f1(), la seconde partie dans f2() et écrire :

Code :
  1. def f1():
  2.     cpu = psutil.cpu_percent()
  3.     piglow.all(0)
  4.     if cpu < 5:
  5.         piglow.white(90)
  6.     [...]
  7. def f2():
  8.     [...]
  9. while True:
  10.     f1()
  11.     sleep(10)
  12.     f2()
 

Qu'en penses-tu ?


Message édité par suizokukan le 06-10-2013 à 17:37:54

---------------
rule #1 : trust the python
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed