1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| maliste = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
def rech_dichot(liste, borne_inf, borne_sup, x):
borne_interm = (borne_sup + borne_inf)/2;
if liste[borne_sup] < x or liste[borne_inf] > x: #si l'entier recherche n'est pas dans la liste
return False;
if liste[borne_interm] == x:
return True;
else:
if maliste[borne_interm] > x:
rech_dichot(liste, borne_inf, borne_interm-1, x);
else:
if maliste[borne_interm] < x:
rech_dichot(liste, borne_interm + 1, borne_sup, x);
else:
return False;
nbre_rech = input("Veuillez rentrer l'entier recherche : ");
print rech_dichot(maliste, 0, len(maliste)-1, int(nbre_rech)); |
Partager