Logo Les Interros des Lycées
ReacLim.py
Programme Python de l'Interros des Lycées 1re PC
print("On considère la réaction totale a.A + b.B -> c.C + d.D")

#On demande à l'utilisateur d'entrer les paramètres initiaux
a= float(input("Entrez la valeur de a (1 par défaut)") or "1")
b= float(input("Entrez la valeur de b (1 par défaut)") or "1")
c= float(input("Entrez la valeur de c (1 par défaut)") or "1")
d= float(input("Entrez la valeur de d (1 par défaut)") or "1")

n0A= float(input("Entrez la quantité initiale de A en mol"))
n0B= float(input("Entrez la quantité initiale de B en mol"))
n0C= float(input("Entrez la quantité initiale de C en mol (0 par défaut)") or "0")
n0D= float(input("Entrez la quantité initiale de D en mol (0 par défaut)") or "0")

#On fait les deux hypothèses pour l'avancement final
xf1=n0A/a  #Hypothèse 1
xf2=n0B/b  #Hypothèse 2

#On détermine laquelle des deux hypothèses est la bonne
#On détermine alors le réactif limitant et on l'affiche
if xf1xf2 :
    xf=xf2
    print("B est le réactif limitant")
if xf1==xf2 :
    xf=xf1
    print("A et B ont été introduits dans les proportions stoechiométriques")

#On calcule les quantités de réactifs et de produits dans l'état final
nfA=n0A-a*xf
nfB=n0B-b*xf
nfC=n0C+c*xf
nfD=n0D+d*xf

#On affiche la composition de l'état final
print("Composition de l'état final:")
print("nf(A)="+str(nfA+" mol")
print("nf(B)="+str(nfB)+" mol")
print("nf(C)="+str(nfC)+" mol")
print("nf(D)="+str(nfD)+" mol")