streakode

Python 3.14

Ejercicios de Python sobre Diccionarios

4 ejercicios de Diccionarios en Python. Piensa la respuesta antes de abrirla: la explicación dice por qué las demás opciones fallan.

  1. 1 · Elige la respuesta · nivel 1

    ¿Qué imprime este código?

    stock = {"manzanas": 3}print(stock.get("peras", 0) + stock["manzanas"])
    • A3
    • BKeyError
    • CNone
    • D0
    Ver la respuesta

    Respuesta: A. 3

    get() devuelve el valor por defecto (0) si la clave no existe, en vez de lanzar KeyError como hace el acceso con corchetes.

  2. 2 · Completa el hueco · nivel 1

    Completa para recorrer a la vez la clave y el valor.

    prices = {"pan": 1.2, "leche": 0.9}for name, price ___ prices.___():    print(f"{name}: {price}")
    • in
    • items
    • keys
    • values
    • of
    • entries
    Ver la respuesta

    Respuesta: in · items

    prices = {"pan": 1.2, "leche": 0.9}for name, price in prices.items():    print(f"{name}: {price}")

    items() devuelve pares (clave, valor) y el for los desempaqueta. keys() y values() solo dan una de las dos cosas. Los diccionarios conservan el orden de inserción.

  3. 3 · Elige la respuesta · nivel 2

    ¿Qué imprime este código?

    defaults = {"theme": "dark", "lang": "es"}user = {"lang": "en"}print(defaults | user)
    • A{'theme': 'dark', 'lang': 'en'}
    • B{'theme': 'dark', 'lang': 'es'}
    • C{'lang': 'en', 'theme': 'dark'}
    • DTypeError
    Ver la respuesta

    Respuesta: A. {'theme': 'dark', 'lang': 'en'}

    | une dos diccionarios en uno nuevo y, si una clave se repite, gana el de la derecha. Las claves conservan el orden del primero, así que theme sigue delante.

  4. 4 · Encuentra el fallo · nivel 2

    Lanza RuntimeError: dictionary changed size during iteration. ¿Qué línea lo provoca?

    1scores = {"ana": 7, "luis": 3, "eva": 9}2for name in scores:3    if scores[name] < 5:4        del scores[name]5print(scores)
    Ver la respuesta

    El fallo está en la línea 4: del scores[name]

    No se puede borrar de un diccionario mientras se recorre. Alternativas: recorrer list(scores) o crear uno nuevo con {k: v for k, v in scores.items() if v >= 5}.

Más temas de Python

Ver toda la ruta de Python