Optimisation code

Bonjours à tous et à toutes. Je suis tout nouveau sur ce forum, Je m’appelle Kévin, et je débute en python.
Je suis en possession d’un raspberry pi 3 avec une carte dac+ standard, et je suis en train de développer un genre de dashboard pour ma voiture.
j’ai un souci pour régler le volume, j’y arrive, mais en mettant énormément de IF.

def volplus():

global volume
volume=volume+5

if volume > 100:
    volume=100
    
if volume == 100:
    os.system('amixer sset Digital 100%')

if volume == 95:
    os.system('amixer sset Digital 95%')

if volume == 90:
    os.system('amixer sset Digital 90%')

if volume == 85:
    os.system('amixer sset Digital 85%')

if volume == 80:
    os.system('amixer sset Digital 80%')

if volume == 75:
    os.system('amixer sset Digital 75%')

if volume == 70:
    os.system('amixer sset Digital 70%')

if volume == 65:
    os.system('amixer sset Digital 65%')

if volume == 60:
    os.system('amixer sset Digital 60%')

if volume == 55:
    os.system('amixer sset Digital 55%')

if volume == 50:
    os.system('amixer sset Digital 50%')

if volume == 45:
    os.system('amixer sset Digital 45%')    

if volume == 40:
    os.system('amixer sset Digital 40%')

if volume == 35:
    os.system('amixer sset Digital 35%')

if volume == 30:
    os.system('amixer sset Digital 30%')

if volume == 25:
    os.system('amixer sset Digital 25%')

if volume == 20:
    os.system('amixer sset Digital 20%')

if volume == 15:
    os.system('amixer sset Digital 15%')

if volume == 10:
    os.system('amixer sset Digital 10%')

if volume == 5:
    os.system('amixer sset Digital 5%')

if volume == 0:
    os.system('amixer sset Digital 0%')
    
label2.configure(text = volume)

Auriez vous une idée?

Bonjour,

Pas trop sûr de mon coup, mais une fois la variable volume initilaisée

os.system('amixer sset Digital %s%%' % volume)

A+

Salut,

tu peux aussi faire volume += 5, tu l’appels comment ta fonction volume ?

global volume
volume=volume+5

if volume > 100:
    volume=100

command='amixer sset Digital  ' + str(volume) + '%'
os.system(command)

Ca devrai être plus simple comma ça.

Bonjour.
je n’avais pas pensée a cette solution.
je teste cela dès ce soir!
Merci.

Bonjour.
Pour ceci, je connais déjà, et je ne sais pas pourquoi je ne l’ai pas fait!
(tête en l’air!!!)

Bonjour.
Cette solution, je l’ai déjà employer, avant d’avoir ma carte hifibery DAC+, c’était sous la forme:
command='amixer set PCM ’ + str(volume) + ’ ‹ % ›

Cela fonctionnait très bien. Mais avec la carte Hifiberry il faut utiliser sset Digital, qui n’accepte pas la variable volume. je teste votre manière de faire dès ce soir, et je vous tiens au courant.
Merci

Bonsoir à tous,
je vous remercie pour vos réponses, grâce à vous mon code est optimisé de ce coté ci!
J’ai tester les solutions de jelepo et Azlux qui fonctionnent très bien et j’ai appliquer ce que Nems m’a proposé.
je reviendrai vers vous très prochainement, car j’ai encore beaucoup d’autres questions, les cours python sur internet ne me suffisent pas.
Merci beaucoup pour votre aide.

ps: Faut-il mettre ce sujet en résolue, si oui comment le fait-ont?

Bonjour,

Pour info, il existe de livre de très bon livres d’apprentissage du langage Python en français, plus ou moins payant et disponibles sur le net:

  • Apprendre à programmer avec Python - Gérard SWINNEN,
  • Apprenez à programmer en Python - Vincent LE GOFF,
  • Programmation Python - Tarek ZIADE

Bonne lecture.

A+