Home Foros Foro dudas Foro Python Ejercicio video 022 – Solución con lo visto hasta el momento Respuesta a: Ejercicio video 022 – Solución con lo visto hasta el momento

Respuesta a: Ejercicio video 022 – Solución con lo visto hasta el momento

Home Foros Foro dudas Foro Python Ejercicio video 022 – Solución con lo visto hasta el momento Respuesta a: Ejercicio video 022 – Solución con lo visto hasta el momento

#21870

Pablo Aparicio
Participante

Yo hice esto, también sin usar el setdefault(), de lo que aún tengo que tomar notas porque era algo totalmente nuevo.

 

print("Países y ciudades") #Sólo a modo de titular

capitales= {} #Creo el diccionario llamado "capitales", aunque creo que debería haber elegido mejor el nombre

pais="" #Inicio la variable "país" con una cadena vacía.

while pais!="salir": #mientras "país" no sea "salir", y entra porque inicia como vacío
    pais = input("Introduce un país: ") #Se pedirá que se introduzca un país.
    if pais == "salir": #Si ese país es "salir"
        break "Se sale del bucle"
    ciudad = input("Introduce ciudad: ") #Si no se sale del bucle, continúa con el flujo de ejecución preguntando por una ciudad.

    if pais in capitales: #si el país introducido está en el diccionario "capitales"
        capitales[pais].append(ciudad) #A ese país se le añade un el valor con el nombre de la ciudad en forma de lista (eso hace append()).
    else: #Si el país introducido no está en "capitales".
        capitales[pais]=[ciudad] #Sencillamente se añade el país al diccionario.


print(capitales) #Imprimir el diccionario "capitales"

 

Creo que está bien. No diré el tiempo que me tiré para conseguirlo porque no sé si es algo bueno o malo. O sí, más de 3 horas haciendo pruebas. Por eso me gustaría leer alguna opinión de alguien que pudiera decirme si está bien, si no o en qué se puede mejorar. Yo suelo cometer el error de que comparado con otros códigos, los míos suelen poder estar mejor optimizados. Además, en este caso, si lo primero que ponemos es “salir”, imprimirá las llaves del diccionario, aunque vacío.

 

Y también aprovecho este post para presentarme por aquí.