Saltar al contenido

Proyecto: limpia este programa

Python · Unidad 19: Código limpio

Este programa cobra un carrito. Funciona, pero cuesta leerlo: la función se llama f, sus variables son letras sueltas y hace dos cosas a la vez.

Lo vas a partir en piezas con nombre, docstring y anotaciones. El total tiene que seguir dando exactamente lo mismo.

def f(l):
    x = 0
    for i in l:
        x = x + i["precio"] * i["cant"]
    if x > 500:
        return x * 0.9
    return x

c = [{"precio": 300, "cant": 2}]
print(f(c))

Imprime

540.0

Ejercicios de esta lección

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

  1. 1. Ordena las líneas

    Ordena el programa. importe cobra un artículo, y al final se imprime también su descripción.

  2. 2. Escribe el código

    Escribe subtotal(carro): suma el importe de todos los artículos, y regresa 0 si el carrito viene vacío. importe ya está escrita; úsala en vez de repetir la cuenta.

  3. 3. Escribe el código

    Escribe total(carro): el subtotal, con 10% de descuento cuando el subtotal pasa de 500. Exactamente 500 no lleva descuento. subtotal ya está escrita.

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 →