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)