Python - Nivel 20 - Reto 5 - Encontrar y listar valores de un diccionario

preview_player
Показать описание
En este video resolvemos el reto que teníamos pendiente de hacer una agenda telefónica que permita llevar a cabo las siguientes opciones: consultar el teléfono de una persona, consultar a quién pertenece un teléfono, y listar todos los nombres y teléfonos de la agenda. Pero ahora se trata de hacerlo con métodos de los diccionarios.

---------------------------------------------------------------------

RETO PARA RESOLVER:

Convertir un diccionario en dos listas:
pares = {"A": 1, "B": 2, "C": 3, "D": 4, "E": 5}

Convertir dos listas en un diccionario:
letras = ["A", "B", "C", "D", "E"]
numeros = [1,2,3,4,5]

---------------------------------------------------------------------
Рекомендации по теме
Комментарии
Автор

Muy buenos videos, tiene videos de funciones ?

nombreapellido
Автор

Hola buenas noches! acá entrego mi tarea resuelta. muchas gracias por estos videos, estoy muy agradecido
a = {'river':4, 'boca':6, 'independiente':7, 'estuadiantes':4}
lista_clave = []
lista_valor = []
for clave, valor in a.items():
lista_valor.append(valor)
lista_clave.append(clave)

ricardonahueldazaguerreros
Автор

Muy buen vídeo!!! Tengo un problema con la función get() me funciona bien en la consola, pero no en sublime test. Porque puede ser? las demás funciones si andan. Saludos

maxi
Автор

Aquí mi solución. Me demore en esta, no porque este muy difícil el ejercicio, sino que quise resumir la opción 2 y opción 3 en una sola función. Lo logre y aquí esta mi código. *Le mejore algunas cosas*

from os import system
from time import sleep

mi_agenda = {'José Antonio':'985302109',
'Isabella Granda' : '963258741',
'Manuel Acosta Ojeda' : '958623147',
'Mario Cavagnaro' : '985621457'}


def presentacion_opciones():

''' Se encarga de mostrar las opciones al usuario
y devolver un valor si esta dentro de las opciones. '''

opcion = ""

while opcion not in ('1', '2', '3', '4'):
system("cls")
print()
print("MIS CONTACTOS".center(50))
print("".center(50, '*'))
print("1. Consultar por nombre")
print("2. Consultar por teléfono")
print("3. Listar toda la agenda")
print("4. Salir")

opcion = input("--> ")

return int(opcion)


def opciones_generales(consultas, consultas_2):

''' Se encarga de ejecutar el funcionamiento de las opciones 2 y 3, los 2
parámetros que tienen, los reciben de la función opciones_elegidas(opciones)
por los argumentos que le lleguen decidira cual se ejecuta el primer if o el
primer else (2 y 3 respectivamente) '''

while True:
system("cls")
# Ejecución de las opciones
print(f" Consultas por {consultas} ".center(50, '*'))
nombre = input(f'Ingrese el {consultas} del contacto --> ')
# OPCION 1
if consultas == 'Nombre': # Verifica que el primer argumento
for key, values in mi_agenda.items():
if key == nombre:
print(f"{consultas}: {nombre}\n{consultas_2}: {mi_agenda[nombre]}");break
else: input(f"El {consultas} no existe")
# OPCION 2
else: # Primer argumento, para la segunda opcioón
for keys, values in mi_agenda.items():
if values == nombre:
print(f"{consultas_2}: {keys}\n{consultas}: {values}");break
else: input(f"El {consultas} no existe")
# Terminar bucle
pregunta = input("¿Seguir buscando? S/N: ").lower()
if pregunta == 'n':
print(f"Salió de la opción 'Consultas por {consultas}'")
sleep(2); break
else: continue


def opciones_elegidas(opcion):

''' Recibe el valor de la función presentacion_opciones()
verifica su existencia y le da funcionalidad a cada opción '''

if opcion == 1:
opciones_generales('Nombre', 'Teléfono')

elif opcion == 2:
opciones_generales('Teléfono', 'Nombre')
elif opcion == 3:
system("cls")
print("Lista de Contactos".center(50, '*'))
for keys, values in mi_agenda.items():

print(f"Nombre --> {keys}\nNúmero --> {values} ")

input()


def main():
while True:
opciones = presentacion_opciones()
if opciones == 4: print("Salió de 'Mis contactos'"); sleep(2); break
opciones_elegidas(opciones)

main()

josekachkaniraqmi