#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# ==============================================================================
# 1C03 Exercice 46 page 76                                            INITIATION
# Programme permettant de déterminer l'état final d'un système siège d'une
# transformation chimique considérée comme totale ainsi que l'avancement maximal 
# de la réaction d'équation donnée à partir d'un état initial connu.
# ==============================================================================

# Affectation de la liste des nombres stoechiométriques associés aux réactifs :
a=[...à compléter...]
# Affectation de la liste des nombres stoechiométriques associés aux produits :
b=[...à compléter...]

# Affectation de la liste des quantités initiales des réactifs :
nR=[...à compléter...]
# Affectation de la liste des quantités initiales des produits :
nP=[...à compléter...]

# Initialisation de l'avancement :
x=...à compléter...
# Affectation de l'intervalle d'avancement :
dx=...à compléter...

# Boucle simulant l'avancement progressif de la transformation,
# tant que les quantités des deux réactifs restent positives :
while nR[0]>0 and nR[1]>0:
    x+=...à compléter...        # augmentation de l'avancement de dx
    nR[0]-=a[0]*dx              # diminution de n(R1)
    nR[1]-=...à compléter...    # diminution de n(R2)
    nP[0]+=...à compléter...    # augmentation de n(P1)
    nP[1]+=...à compléter...    # augmentation de n(P2)

# Affichage de la valeur de l'avancement final, maximal :
print("Si la réaction est totale, alors xf = xmax =",'{:.2f}'.format(x),"mol.")

# Affichage des quantités restantes à l'état final en chacun des réactifs :
...à compléter...
...à compléter...

# Affichage des quantités formées à l'état final en chacun des produits :
...à compléter...
...à compléter...
