Nombre: ________________________ Fecha: ______________
Usa las funciones contar y leer_puntos de las lecciones relacionadas. Predice el resultado y luego comprueba en Python.
Puedes imprimir esta ficha o guardarla como PDF desde el menú de impresión del navegador.
¿Qué devuelve contar(["a", "c", "a", "c", "a"])?
Para d = {"x": 1}, ejecutas d["x"] = 4. ¿Cuántas claves hay y qué valor tiene x?
Para d = {}, compara d.get("x", 0) y d["x"].
Para d = {"x": None}, ¿cómo distingues que x existe aunque su valor sea None?
Predice leer_puntos("100"), leer_puntos("-1") y leer_puntos("abc").
¿Por qué no basta usar assert 0 <= puntos <= 100 para validar obligatoriamente una entrada?
Compara después de intentar los ejercicios.
El diccionario {"a": 3, "c": 2}. Hay dos claves y cinco apariciones totales; contar claves no equivale a contar elementos de entrada.
Hay una sola clave y su valor pasa a 4. La asignación reemplaza el valor anterior de "x".
get devuelve 0 sin cambiar el diccionario. La consulta con corchetes lanza KeyError porque "x" no existe.
La expresión "x" in d devuelve True. d.get("x") por sí sola daría None tanto para ese valor como para una clave ausente.
La primera devuelve 100, extremo válido. La segunda lanza ValueError por el rango. La tercera lanza ValueError durante la conversión a entero.
Python puede omitir aserciones con optimización. Una validación necesaria debe usar una condición explícita y definir el rechazo, por ejemplo raise ValueError.