Código [Seleccionar]
[code=python]def query(phone_book):
for i in range(len(phone_book)):
_query = input()
no entiendo la cantidad de ciclos alli
el primero... estás haciendo un query, entonces para que repetirlo tanto como numeros de telefonos haya? solo lo necesitas hacer una vez y listo...
luego aqui
Código (python) [Seleccionar]
if _query in phone_book:
for key in phone_book:
if _query == key:
print(f"{key}={phone_book[key]}")
else:
print("Not found")
no entiendo que hace el ciclo, es decir si query está en el phone_book, tan simple como que lo puedes acceder, no tienes que recorrer el diccionario, ese es el punto de los mismos...
con correcciones quedaría según mi estilo
Código (python) [Seleccionar]
def phone_book():
n = int(input("indica cuantos numeros vas a ingresar: ")) # 1*
phone_book = {}
for i in range(n):
buff = input("ingresa el nombre un espacio y el numero: ") # 2*
nombre, numero = buff.split(" ", 1) # 3*
phone_book[nombre] = numero # 4*
return phone_book
def query(phone_book):
_query = input("ingresa el nombre a buscar: ")
if _query in phone_book:
print(f"{_query}={phone_book[_query]}") # 5*
else:
print("Not found")
query(phone_book())
1* importante saber que pides
2* cuidado con usar palabras reservadas, no te vaya a traer errores mas adelante
3* aunque parezca redundante ayuda a dejar claro y visible lo que pasa
4* ya que no estás fusionando 2 diccionarios si no agregando un solo elemento, no es necesario usar update con un diccionario temporal
5* cuidado con la impresion de formato, esto es apropiado para debug pero puede traerte problemas en un sistema de produccion
[/code]