Saltar al contenido

Casos borde

Python · Unidad 20: Pruebas y depuración

El caso feliz casi siempre funciona: por eso es el que probamos. Los errores viven en los extremos.

La lista vacía, el cero, el negativo, el texto vacío y el único elemento son los cinco sospechosos de siempre.

def promedio(ns):
    return sum(ns) / len(ns)

print(promedio([6, 8]))
try:
    print(promedio([]))
except ZeroDivisionError as e:
    print("Truena:", e)

Imprime

7.0
Truena: division by zero

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Encuentra el caso que falla

    inicial(t) debería regresar la primera letra del nombre en mayúscula, y un texto vacío si no hay nombre. ¿Con qué llamada falla?

  3. 3. Completa el código

    Completa la guarda para que la lista vacía dé 0.

  4. 4. Completa el código

    Completa para que la función regrese 0 cuando no se puede sacar la raíz.

  5. 5. Encuentra el caso que falla

    porcentaje(parte, total) debería regresar qué porcentaje es parte del total, y 0 si el total es 0. ¿Con qué llamada falla?

  6. 6. Encuentra el bug

    Esta función debería regresar el promedio, y 0 solo si la lista está vacía. ¿Qué línea tiene el error?

  7. 7. Predice la salida

    ¿Qué imprime este código?

  8. 8. Ordena las líneas

    Ordena la función para que la lista vacía no truene.

  9. 9. Opción múltiple

    Acabas de escribir inicial(t), que regresa la primera letra de un nombre. ¿Con cuál entrada la probarías primero?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →