====== Avancement en chimie ======
especes=["CH4","O2","CO2","H2O"]
coefficients=[-1, -2, 1, 2]
etat_init = [3., 20., 0., 0.] #quantites initiales en moles
etat_inter = etat_init[:]#on initialise l'état intermediaire
dksi = 0.0001 #pas
x = 0 #avancement initial
while etat_inter[0]>0 and etat_inter[1]>0: #tant qu'il y a des réactifs
x = x + dksi
etat_inter[0] = etat_init[0] + coefficients[0]*x
etat_inter[1] = etat_init[1] + coefficients[1]*x
etat_inter[2] = etat_init[2] + coefficients[2]*x
etat_inter[3] = etat_init[3] + coefficients[3]*x
print("====== Etat Final ======")
for i in range(4):
print(especes[i],": {:.3f}".format(etat_inter[i])) #on affiche le résultat avec 3 chiffres après la virgule
print("")
print("Avancement final : xf = {:.3f} mol".format(x))
donne
====== Etat Final ======
CH4 : -0.000
O2 : 14.000
CO2 : 3.000
H2O : 6.000
Avancement final : xf = 3.000 mol