// división entera
Se queda con la parte entera y tira los decimales. Sirve para "¿cuántas cajas completas de 12 unidades salen de 100?"
100 // 12 → 8
Ya sabes guardar datos. Ahora vas a operarlos. Los símbolos son casi los mismos de una calculadora, con dos que quizá no conozcas.
print(10 + 3) # suma
print(10 - 3) # resta
print(10 * 3) # multiplicacion
print(10 / 3) # division (siempre da decimal)
print(10 // 3) # division entera: descarta los decimales
print(10 % 3) # residuo: lo que sobra de la division
print(10 ** 3) # potencia: 10 elevado a 313 7 30 3.3333333333333335 3 1 1000
Fíjate en 10 / 3: da 3.3333... aunque los dos
números sean enteros. La división siempre devuelve decimal, y por
eso 10 / 2 da 5.0 y no 5.
Se queda con la parte entera y tira los decimales. Sirve para "¿cuántas cajas completas de 12 unidades salen de 100?"
100 // 12 → 8
Devuelve lo que sobra. Continuando el ejemplo: "¿y cuántas unidades quedan sueltas?"
100 % 12 → 4
También es la forma de saber si un número es par:
n % 2 == 0.
Hasta ahora los valores estaban escritos dentro del código. Con
input() el programa pregunta y espera a que alguien
escriba y pulse Enter.
precio = input("Escribe el precio: ")
print("El doble es:")
print(precio * 2)Escribe el precio: 5000 El doble es: 50005000
Ahí está la trampa que confunde a todo el mundo:
input() SIEMPRE devuelve texto, aunque escribas
números. Y multiplicar un texto por 2 lo repite dos veces, en vez de duplicar su
valor. Por eso salió 50005000 y no 10000.
Hay que decirle a Python que ese texto es un número, envolviéndolo en
int() si es entero o float() si lleva decimales.
precio = float(input("Escribe el precio: "))
print("El doble es:")
print(precio * 2)Escribe el precio: 5000 El doble es: 10000.0
Piensa el resultado y haz clic para comprobarlo.
Junta todo lo que llevas. Este programa pide un precio sin IVA y devuelve el total, con el IVA colombiano del 19%.
# Calculadora de IVA - Colombia
IVA = 0.19
producto = input("Producto: ")
base = float(input("Precio sin IVA: "))
valor_iva = base * IVA
total = base + valor_iva
print("-" * 40)
print("Producto: ", producto)
print("Base: ", base)
print("IVA (19%): ", valor_iva)
print("TOTAL: ", total)Producto: Teclado Precio sin IVA: 189000 ---------------------------------------- Producto: Teclado Base: 189000.0 IVA (19%): 35910.0 TOTAL: 224910.0
IVA va en mayúsculas por convención: así se marcan los
valores que no cambian durante el programa. Python no lo impide si
lo modificas, pero quien lea el código entiende la intención - y si mañana el IVA
cambia, se toca una sola línea en vez de buscar 0.19 por todo el
archivo.
Con round(): round(total, 2). También
existen las f-strings, que permiten dar formato dentro del texto:
print(f"Total: {total:,.2f}").
El programa se cae con
ValueError: could not convert string to float. Controlar eso
se hace con try / except, que es tema del curso intermedio.
Por ahora, asume que escriben lo que se les pide.
Porque un precio puede llevar decimales. Con int(),
escribir 1500.50 haría que el programa fallara.
Si escribes 20, ¿qué imprime print(input("n: ") * 2)?
¿Cuánto vale 17 % 5?
¿Por qué IVA se escribe en mayúsculas?
Tu calculadora hace siempre lo mismo. En la siguiente lección vas a hacer que el programa decida: aplicar un descuento solo si la compra pasa cierto monto, marcar un cliente en mora, avisar cuando el inventario esté bajo.
Siguiente: Condicionales: que el programa decida
Continuar ← Variables y tipos de datos