Forum Programmation.python Problème ajout dans une liste

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-4
23
mai
2019

Bonjour, je n'ai pas un gros niveau en python mais dans le cadre d'un projet j'ai une simulation informatique à faire. Je vous montre tout d'abord le programme en question :

def evol_force_3(N1,N2,N3,R1,R2,R3,u1,u2,u3,L,T,eps):
    xs,ys,z = dissociation(placement_bis(N1,N2,N3,R1,R2,R3,L))
    d = [u1/meau]*N1 + [u2/meau]*N2 + [u3/meau]*N3
    K = 9*vis/(2*d[0]*(R1)**2)
    K2 = 9*vis/(2*d[N1]*(R2)**2)
    K3= 9*vis/(2*d[N1 + N2]*(R3)**2)
    K = [K] * N1 + [K2] * N2 + [K3] * N3
    R = [R1] * N1 + [R2] * N2 + [R3] * N3
    n = N1 + N2 +N3
    t= 0
    zbis = np.array(z)
    result = [z]
    while t < T:
        t+= eps
        for i in range(n):
            if zbis[i] > R[i] :
                zbis[i] = z[i] + (1/K[i])*(1/d[i] - 1)*g*(t+ (1/K[i])*math.exp(-K[i]*t) - 1/K[i])
            else : 
                zbis[i] = 0
        print(zbis)
        result.append(zbis)
    return xs, ys, result

Le problème se situe au niveau de result, car il n'ajoute pas du tout zbis au moment de la boucle while, mais uniquement celui de la dernière boucle a chaque fois. Je ne sais pas si j'ai été clair, mais en gros j'ai utilisé print() pour vérifier que le problème ne venait pas de mon code et de l'équation, ce n'est pas le cas, zbis évolue bien à chaque itération de la boucle while mais result lui ajout à chaque itération l'élément de la dernière itération de la boucle while.

Je remercie d'avance ceux qui vont prendre la peine de lire et essayer de m'aider.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.