Bonjour, dans le cadre d'un projet, je dois programmer de sorte de mimer une croissance bactérienne. Cependant je ne vois pas où est le problème ou comment arranger mon programme pour qu'il fonctionne.
Merci à ceux qui pourront m'aider

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#import random
import numpy as np
import matplotlib.pyplot
 
nb_bacterie=3
duree_experience=3000 #28800 #8j
duree_cycle=35
matiere_nutritive_initiale=5000
quantite_matiere_necessaire_division=50
duree_survie_jeun=10
coeff_exploitation=0.10
 
def colonie(bacterie,matiere_nutritive,duree_experience):
    bacterie=[[k,0,0,0] for k in range (nb_bacterie)]
    matiere_nutritive=matiere_nutritive_initiale
    Y=[]
    for k in range (duree_experience):
        nouvelle_bact=0
        a=len(bacterie)
        matiere_assimilee_par_u_temps=matiere_nutritive*coeff_exploitation
        if matiere_nutritive>=matiere_assimilee_par_u_temps*a:
            matiere_nutritive=matiere_nutritive-matiere_assimilee_par_u_temps*a
            for i in range (0,a):
                bacterie[i][2]= [bacterie[i][2]+matiere_assimilee_par_u_temps]
                if bacterie[i][2]>=quantite_matiere_necessaire_division:#c'est ici le probleme selon python
                    nouvelle_bact+=1
                if bacterie[i][1]==duree_cycle:
                    bacterie.pop(i)
                bacterie[i][1]+=1
            for k in range (nouvelle_bact):
                bacterie.append([len(bacterie),0,0,0])
        else:
            a=int(matiere_nutritive/len(bacterie))
            matiere_nutritive=0
            for i in range (a):
                bact_mange=random.randint(0,len(bacterie)-1)
                bacterie[bact_mange][2]+=matiere_assimilee_par_u_temps
            for i in range (len(bacterie)):
                if bacterie[i][1]==duree_cycle:
                    bacterie.pop(i)
                bacterie[i][1]+=1
                if bacterie[i][2]>=quantite_matiere_necessaire_division:
                    nouvelle_bact+=1
                if bacterie[i][3]==duree_survie_jeun:
                    bacterie.pop(i)
                else: 
                    bacterie[i][3]+=1
            for k in range (nouvelle_bact):
                bacterie.append([len(bacterie),0,0,0])
        Y.append(len(bacterie))
    return Y
encore merci et désolé, je n'arrive pas à garder l'indentation