Qué es una variable (y por qué te ahorra trabajo)
Una variable es un “nombre” que apunta a un valor. Sirve para guardar datos y reutilizarlos sin copiar/pegar números o textos por todas partes. En Python, creas una variable con = (asignación):
precio = 19.99
cantidad = 3
Piensa en variables como etiquetas: hoy cantidad vale 3, pero mañana puede valer 10 y tu programa seguirá funcionando sin reescribir fórmulas.
Reglas prácticas para nombrar variables
- Usa nombres descriptivos:
precio_unitariomejor quep. - Usa
snake_case:total_compra,edad_usuario. - Evita palabras reservadas (como
class,for,if). - Evita acentos y ñ en nombres para mantener compatibilidad:
anioen vez deaño.
Tipos de datos esenciales (los que usarás en mini-retos)
El “tipo” es la categoría del dato. En Python no declaras el tipo por adelantado: se infiere según el valor asignado.
Números: int y float
int: enteros (sin decimales). Ej:5,-2.float: decimales. Ej:3.14,19.99.
edad = 28 # int
altura = 1.72 # float
Texto: str
Una cadena de texto va entre comillas simples o dobles.
nombre = "Ana"
mensaje = 'Hola'
Booleanos: bool
Representan verdadero o falso: True y False. Son clave para decisiones (condiciones) y validaciones.
Continúa en nuestra aplicación.
Podrás escuchar el audiolibro con la pantalla apagada, recibir un certificado gratuito para este curso y además tener acceso a otros 5.000 cursos online gratuitos.
O continúa leyendo más abajo...Descargar la aplicación
es_mayor_de_edad = True
hay_stock = False
Cómo comprobar el tipo con type()
precio = 19.99
print(type(precio)) # <class 'float'>
Operaciones básicas que resuelven problemas reales
Aritmética: +, -, *, /, //, %, **
+suma,-resta,*multiplicación,/división (devuelve float).//división entera (descarta decimales).%módulo (resto de una división).**potencia.
a = 10
b = 3
print(a / b) # 3.3333333333333335
print(a // b) # 3
print(a % b) # 1
print(2 ** 3) # 8
Operaciones con texto (str)
Con + concatenas (unes) textos. Con * repites.
nombre = "Ana"
saludo = "Hola, " + nombre
print(saludo)
print("-" * 10)
Importante: no puedes sumar texto con números directamente. Debes convertir.
edad = 28
print("Edad: " + str(edad))
Comparaciones: ==, !=, <, <=, >, >=
Devuelven True o False. Útiles para validar reglas: “¿alcanza el dinero?”, “¿hay stock?”, “¿está dentro del rango?”.
dinero = 50
precio = 19.99
print(dinero >= precio) # True
Operadores lógicos: and, or, not
tiene_descuento = True
es_cliente_nuevo = False
aplica_promo = tiene_descuento and (not es_cliente_nuevo)
print(aplica_promo)
Conversión de tipos (cuando el dato viene “con el tipo equivocado”)
En mini-retos es común recibir números como texto (por ejemplo, desde input()). Para operar, conviértelos:
int("12")convierte a entero.float("12.5")convierte a decimal.str(12)convierte a texto.
texto = "12"
numero = int(texto)
print(numero + 5) # 17
Si el texto no representa un número válido, la conversión fallará. En retos posteriores verás cómo manejar esos casos con validaciones.
Mini-reto 1: Calculadora de total con impuestos (paso a paso)
Problema: tienes un precio unitario, una cantidad y un impuesto (IVA). Quieres calcular el total final.
Paso 1: Define las variables
precio_unitario = 19.99
cantidad = 3
iva = 0.21
Paso 2: Calcula el subtotal
subtotal = precio_unitario * cantidad
Paso 3: Calcula el impuesto y el total
impuesto = subtotal * iva
total = subtotal + impuesto
Paso 4: Muestra resultados (con redondeo)
En dinero, suele interesar 2 decimales.
print("Subtotal:", round(subtotal, 2))
print("Impuesto:", round(impuesto, 2))
print("Total:", round(total, 2))
Variación práctica
Si el impuesto viene como porcentaje (por ejemplo 21), conviértelo a decimal:
iva_porcentaje = 21
iva = iva_porcentaje / 100
Mini-reto 2: Dividir una cuenta entre personas (y detectar sobrantes)
Problema: una cuenta total se divide entre N personas. Quieres saber cuánto paga cada una y cuánto sobra si solo puedes pagar en unidades enteras (por ejemplo, monedas de 1).
Paso 1: Variables
total = 53
personas = 4
Paso 2: Calcula pago entero y sobrante
pago_por_persona = total // personas
sobrante = total % personas
Paso 3: Imprime el resultado
print("Cada persona paga:", pago_por_persona)
print("Sobra:", sobrante)
Idea: // te da la parte “repartible” y % te dice lo que no se pudo repartir.
Mini-reto 3: Convertidor de unidades (temperatura)
Problema: convertir grados Celsius a Fahrenheit.
Fórmula: F = C * 9/5 + 32
Paso a paso
celsius = 20
fahrenheit = celsius * 9/5 + 32
print(fahrenheit)
Hazlo más “usable” con entrada y conversión
celsius_texto = input("Celsius: ")
celsius = float(celsius_texto)
fahrenheit = celsius * 9/5 + 32
print("Fahrenheit:", fahrenheit)
Fíjate en la conversión: input() devuelve texto, por eso usamos float().
Errores típicos (y cómo evitarlos rápido)
1) Confundir = con ==
=asigna:x = 3==compara:x == 3
2) Mezclar str con números
precio = 10
# print("Precio: " + precio) # Error
print("Precio: " + str(precio))
3) Divisiones y redondeos inesperados
/ siempre devuelve decimal. Si necesitas enteros, usa //. Para mostrar dinero, usa round(valor, 2).
4) Nombres poco claros
Si tu variable se llama x, en 10 minutos no recordarás qué era. Usa nombres que expliquen el dato: total_con_iva, pago_por_persona.