Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created December 22, 2021 23:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/c8942277145ac28d921fce04b9817403 to your computer and use it in GitHub Desktop.
Save parzibyte/c8942277145ac28d921fce04b9817403 to your computer and use it in GitHub Desktop.
def busqueda_habilidad(self, nombre_a_buscar, nombres_ordenados, pokemones):
result = {}
izquierda, derecha = 0, len(nombres_ordenados) - 1
while izquierda <= derecha:
indiceDelElementoDelMedio = (izquierda + derecha) // 2
elementoDelMedio = nombres_ordenados[indiceDelElementoDelMedio]
# Accedemos a 0 porque queremos el primer valor de la tupla, mismo que es el nombre
if elementoDelMedio[0] == nombre_a_buscar:
# Aquí hemos encontrado al Pokémon. Usamos su índice para acceder al diccionario
id = elementoDelMedio[1]
return {id: pokemones[id]}
if nombre_a_buscar < elementoDelMedio[0]:
derecha = indiceDelElementoDelMedio - 1
else:
izquierda = indiceDelElementoDelMedio + 1
return {-1: "No encontrado"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment