Oui bonjour, je suis sous Python 2.7 et j'ai un problème avec mon code le voici
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
def condict_reste(dn,dico_2,dico_2_i2v,dico_2_v2i,dico_2_p,maxp,r,lp):
    for pl in lp:
        pv=dico_2_p[pl]
        vp=dico_2_v2i[pv]
        if r<vp and maxp!=pl:
            None
        elif r<vp and maxp==pl:
            dn, dico_2, dico_2_i2v, dico_2_v2i, vn=condict_dict(r,dn,dico_2,dico_2_i2v,dico_2_v2i,str(r))
        elif r>=vp and maxp!=pl:
            n=r/vp
            n2=n*vp
            nr=r%vp
            if n==1:
                vn='v'+str(pv)
            else:
                if n<=vp<dico_2_v2i[dico_2_p[maxp]]:
                    dn, dico_2, dico_2_i2v, dico_2_v2i, vn=condict_dict(n,dn,dico_2,dico_2_i2v,dico_2_v2i,str(n))
                elif n>vp>=dico_2_v2i[dico_2_p[maxp]]:
                    dn, dico_2, dico_2_i2v, dico_2_v2i, vn=condict_reste(dn,dico_2,dico_2_i2v,dico_2_v2i,dico_2_p,maxp,n,lp)
                dn, dico_2, dico_2_i2v, dico_2_v2i, vn=condict_dict(n2,dn,dico_2,dico_2_i2v,dico_2_v2i,vn+'*v'+str(pv))
            if nr!=0:
                dn, dico_2, dico_2_i2v, dico_2_v2i, vn=condict_reste(dn,dico_2,dico_2_i2v,dico_2_v2i,dico_2_p,maxp,nr,lp)
                dn, dico_2, dico_2_i2v, dico_2_v2i, vn=condict_dict(r,dn,dico_2,dico_2_i2v,dico_2_v2i,vn+'+'+tr)
            break
    return dn, dico_2, dico_2_i2v, dico_2_v2i, vn
qui return le résultat à chaque itération de la boucle for sans même attendre la fin de la boucle local, ce malgré que return ne sois pas imbriqué dans la boucle for, j'ai vérifié l'indexation et c'est bien la même 4 espace après le début de ligne pour arrivée à for et toujours 4 espace après le début de la ligne pour arrivée à return.

Je ne comprend pas du tout ce qui ce passe, aidez moi, expliquer moi pourquoi il fait ça et comment y remédier pour de bon.

Je remercie d'avance ceux qui voudrons bien n'aider parce que la je tourne totalement en rond depuis plusieurs heures voir même plus.