Nivel 1 · Calcula el total de un pedido
¿Es nuevo para ti? Lee primero el concepto: Nombres, tipos y decisiones
0 de 3
La solicitud

De Megan Collins, Directora de Ventas
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
Cargando el editor…
Solución de referencia
Mote revisa tu resultado
Presiona Ejecutar. Cada fila que cumple el objetivo se vuelve una luciérnaga en tu linterna.
Lo que recibe Megan, y por qué
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. Necesitaresult =delante. - Usar
==cuando querías=. Dos signos igual comparan valores; uno guarda un valor.
¡Linterna encendida!
Practicaste: variablesarithmeticround
- Resuelto
- Sin pistas
- Al primer intento
