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