#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Activité numérique : déterminer l'état final par une méthode numérique.
On s'interesse à la réaction 2 NO(g) + Br2(g) = 2 NOBr(g).
"""

from scipy.optimize import bisect 

#données à compléter
K=            #constante d'équilibre
V=              #volume en m3
T=          #température en K
P0=         #pression standard P° en Pa
R=          #constanrte des GP
n0=             #quantité de matière initale en mol

A=(P0*V)/(R*T) #constante de l'équation.

#fonction f dont ont doit chercher les racines 
def f(x):
    """fonction qui calcule f pour une valeur de l'avancement xi donné
    """
    return                                            #expression à completer

#intervalle de recherche de la solution à compléter
a=
b=

#resolution avec bisect
x1=bisect(f,a,b)   
print(x1)

#algorithme dichotomie
#Recherche de la solution de f(x)=0 sur le segment [a,b] à epsilon près 
def dichotomie (a,b,f,epsilon): #algorithme à compléter
    while abs(a-b) > epsilon:
        m = 
        if 
            a=
            b = m
        else:
            a = m
            b=b
    
    return (a+b)/2

epsilon=1e-6
x2=dichotomie (a,b,f,epsilon)
print(x2)

