1. Faro

Nivel 1 · Calcula el total de un pedido

¿Es nuevo para ti? Lee primero el concepto: Nombres, tipos y decisiones

La solicitud

De Megan Collins, Directora de Ventas

“Una clienta que está al teléfono quiere comprar dos de nuestras lámparas de mesa y quiere saber el total antes de pagar. ¿Puedes calcularlo, con el envío incluido?”

Tu objetivo

Asigna a result el total del pedido como float: lamp_price por quantity, más shipping_fee, redondeado a 2 decimales con round().

  • Guarda un número en resultpendiente

Tu código

Python

Cargando el editor…

    ResultadoPresiona Ejecutar para ver el tuyo

    Mote revisa tu resultado

    Presiona Ejecutar. Cada fila que cumple el objetivo se vuelve una luciérnaga en tu linterna.

    La lección

    Las variables son cajas con etiqueta

    Una variable es un nombre que apunta a un valor. La creas con un solo signo igual:

    lamp_price = 49.99
    quantity = 2

    Ahora lamp_price significa 49.99 en cualquier punto posterior de tu código. Los nombres deben decir qué es el valor. lamp_price es mucho más fácil de leer el mes que viene que x o p1. Los nombres en Python usan palabras en minúsculas unidas por guiones bajos, un estilo llamado snake_case.

    El signo = significa «guarda este valor con este nombre», no «es igual a». Puedes sobrescribir una variable en cualquier momento, y el valor nuevo reemplaza al anterior:

    quantity = 2
    quantity = 3   # quantity is now 3

    Aritmética

    Python hace la aritmética que ya conoces:

    operador significado ejemplo resultado
    + sumar 49.99 + 7.50 57.49
    - restar 120 - 15 105
    * multiplicar 49.99 * 2 99.98
    / dividir 30 / 4 7.5
    ** potencia 1.05 ** 2 1.1025

    La multiplicación y la división se hacen antes que la suma y la resta, igual que en papel. Usa paréntesis cuando quieras otro orden, o simplemente cuando aclaren tu intención:

    subtotal = 49.99 * 2 + 34.00 * 3       # 201.98
    with_tax = (49.99 * 2) * 1.08          # brackets for clarity

    Los números tienen tipos

    Los números enteros como 2 son enteros (int). Los números con punto decimal como 49.99 son floats. Mezclarlos no es problema: 49.99 * 2 da el float 99.98. Puedes comprobar el tipo de cualquier valor con type():

    type(2)       # <class 'int'>
    type(49.99)   # <class 'float'>

    Redondear dinero

    Los floats se guardan en binario, así que algunos valores decimales no se pueden representar con exactitud. Por eso 0.1 + 0.2 muestra 0.30000000000000004. No es un error de tu código; todos los lenguajes que usan floats estándar se comportan así. Con dinero, redondea la cifra final a centavos:

    round(0.1 + 0.2, 2)        # 0.3
    round(49.99 * 3, 2)        # 149.97

    round(value, 2) conserva dos decimales. Redondea al final de un cálculo, no en cada paso, para que los pequeños errores de redondeo no se acumulen.

    Cómo se comprueban estos niveles

    Cada nivel de Python te pide guardar tu respuesta en una variable llamada result. Cuando ejecutas tu código, el juego compara tu result con el valor esperado. Cualquier enfoque correcto pasa, así que result = round(lamp_price * quantity + shipping_fee, 2) y una versión que construye el total en dos pasos valen por igual:

    items_total = lamp_price * quantity
    result = round(items_total + shipping_fee, 2)

    Errores comunes

    • Escribir los números directamente en la fórmula en lugar de usar las variables. Hoy funciona, pero la gracia de las variables es que el mismo código siga funcionando cuando cambie el precio.
    • Olvidar asignar: escribir round(...) solo en una línea calcula el valor y lo tira. Necesita result = delante.
    • Usar == cuando querías =. Dos signos igual comparan valores; uno guarda un valor.

    Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.