def recherche(t, v, g, d):
"""renvoie une position de v dans t[g..d],
supposé trié, et None si elle ne s'y trouve pas"""
if g > d:
return None
m = (g + d) // 2
if t[m] < v:
return recherche(t, v, m + 1, d)
elif t[m] > v:
return recherche(t, v, g, m - 1)
else:
return m
def recherche_dichotomique(t, v):
"""renvoie une position de v dans le tableau t,
supposé trié, et None si elle ne s'y trouve pas"""
return recherche(t, v, 0, len(t) - 1)