def f(x) : return ........ a,b=1,2 erreur = 10**-6 while b-a > erreur : m = (a+b)/2 # m milieu de l' intervalle [a,b] if f(m)*f(a)<0 : # f(m) et f(a) de signes contraires b = m # $x^* \in [a,m]$, nouveau encadrement else : a = m # $x^*\in [m,b]$ print(a,'<x*<',b) # nouveau encadrement de $x^*$