valores=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]
def busquedaLineal(buscar):
for i in range(len(valores)):
if valores[i]==buscar:
return (True,i+1)
return (False,i+1)
while True:
buscar=input("indica un numero a buscar: ")
if buscar=="":
break
try:
buscar=int(buscar)
except:
print("El valor tienes que ser numero entre 0 y 9")
continue
conseguido,iteraciones=busquedaLineal(buscar)
if conseguido:
print("Encontrado en {} iteraciones".format(iteraciones))
else:
print("El valor introducido no se encuentra en la lista de valores. Se han necesitado {} iteraciones".format(iteraciones))
def busquedaBinaria(unaLista, item):
2 primero = 0
3 ultimo = len(unaLista)-1
4 encontrado = False
5
6 while primero<=ultimo and not encontrado:
7 puntoMedio = (primero + ultimo)//2
8 if unaLista[puntoMedio] == item:
9 encontrado = True
10 else:
11 if item < unaLista[puntoMedio]:
12 ultimo = puntoMedio-1
13 else:
14 primero = puntoMedio+1
15
16 return encontrado
17
18 listaPrueba = [0, 1, 2, 8, 13, 17, 19, 32, 42,]
19 print(busquedaBinaria(listaPrueba, 3))
20 print(busquedaBinaria(listaPrueba, 13))