Bonsoir à tous,
Dans un programme que je réalise, j'utilise ce bloc de conditions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
    if calcul<1:
        solde=0
        print('noir')
    elif calcul<2:
        solde=solde+50*l
        print('bleu')
    elif calcul<3:
        solde=solde+100*l
        print('rouge')
    elif calcul<4:
        solde=solde+150*l
        print('orange')
    elif calcul<5:
        solde=solde+200*l
        print('jaune')
    elif calcul<6:
        break
        print('rose')
    elif calcul<7:
        solde=solde+250*l
        print('bleu2')
    elif calcul<8:
        solde=solde+300*l
        print('rouge2')
    elif calcul<9:
        solde=solde+350*l
        print('orange2')
    elif calcul<10:
        solde=solde+400*l
        print('jaune2')
    else:
        solde=solde+500*l
        print('rose2')
En résumé, j'ai toute une série de 'elif', et ce n'est pas très optimisé. J'aimerais réduire cela, j'ai donc créé un script pour faire mes essais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
from random import*
 
def Realize():
    calcul = randint(0,10)+0.5
    if calcul<1:
        solde=0
    elif calcul<2:
        solde=1
    elif calcul<3:
        solde=2
    else:
        solde=3
    print(solde)
 
Realize()
Et après avoir consulté plusieurs aides ( comme http://stackoverflow.com/questions/1...he-else-is-don ), j'ai essayé ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
def Optimize():
    calcul=randint(0,3)
    options = {'solde=1': 1, 'solde=2': 2, 'solde=3': 3}
    for k in range(0,3):
        if calcul==k in options:
            print(options{k})
 
Optimize()
Mais cela ne fonctionne pas. J'aimerais savoir quoi utiliser ou quoi faire pour optimiser mon bloc de conditions

Merci de m'avoir lu.