← Volver a módulosTema 2 · Python básico

Variables, datos y condiciones

Aprende a guardar información en variables, identificar sus tipos, mostrarlos con print() y type(), convertirlos, operar con ellos y descubrir qué sucede cuando los tipos no coinciden. Además, el programa aprenderá a decidir con if. Cada mini ejemplo se ejecuta en tu navegador.

2.1

Variables: guardar un dato con nombre

Una variable es un nombre al que le asignamos un valor con el operador =. En Python no se declara el tipo: la variable toma el tipo del valor que recibe. Usa nombres claros, en minúsculas y separados con guion bajo.

Mini ejemplo · Variables Python 3 · se ejecuta en tu navegador
voltaje = 120
corriente = 5
potencia = voltaje * corriente

print(potencia)
La primera ejecución descarga el intérprete (~10 MB).

potencia recibe el resultado de multiplicar voltaje por corriente: 600.

Buenas prácticas: voltaje_motor en lugar de vm, y evita nombres que cambien de significado durante el programa.
2.2

Tipos de datos

El tipo describe la clase de dato con la que trabajamos y determina qué operaciones se pueden realizar con él.

intNúmeros enteros: 120, -4.
floatNúmeros con decimales: 30.5, 0.4.
strTexto entre comillas: "cobre".
boolVerdadero o falso: True / False.
Mini ejemplo · Tipos de datos Python 3 · se ejecuta en tu navegador
voltaje = 120          # int
resistencia = 30.5     # float
material = "cobre"     # str
encendido = True       # bool

print(type(voltaje))
print(type(resistencia))
print(type(material))
print(type(encendido))
La primera ejecución descarga el intérprete (~10 MB).

type() devuelve el tipo de cada valor: int, float, str y bool.

2.3

print(), type() y conversión de datos

print() muestra información en pantalla y acepta varios valores separados por comas. type() indica el tipo de un valor. Cuando el dato llega en otro formato se convierte con int(), float(), str() o bool().

Mini ejemplo · print, type y conversión Python 3 · se ejecuta en tu navegador
valor = "120"
print(valor, type(valor))

voltaje = int(valor)   # str -> int
print(voltaje + 10)

corriente = voltaje / 10
print(corriente)

print(str(corriente) + " A")
print(bool(voltaje))
La primera ejecución descarga el intérprete (~10 MB).

La lectura llega como texto; al convertirla a número ya se puede operar.

Las conversiones también pueden fallar

int() solo acepta texto que represente un entero. Si el texto trae decimales o letras, Python detiene el programa y lanza un error.

Mini ejemplo · Error de conversión Python 3 · se ejecuta en tu navegador
print(int("12.5"))
La primera ejecución descarga el intérprete (~10 MB).

ValueError: int() no puede convertir el texto "12.5" a un entero.

2.4

Entrada de datos con input()

Hasta ahora los datos estaban escritos en el código. Con input() el programa muestra un mensaje (prompt) y espera lo que se escriba. Siempre devuelve texto (str), aunque se escriban números, por eso casi siempre hay que convertirlo con int() o float() antes de calcular. Escribe un valor en los recuadros y pulsa Ejecutar.

Mini ejemplo · input() Python 3 · se ejecuta en tu navegador
nombre = input("¿Cómo te llamas? ")
print("Hola,", nombre)
print("Tipo de dato:", type(nombre))
La primera ejecución descarga el intérprete (~10 MB).

Escribe un nombre y ejecuta: el programa lo recibe como texto y lo muestra en pantalla.

Convertir la entrada a número

Si el dato se va a usar en un cálculo, se envuelve la llamada con float() o int() para que llegue como número y no como texto.

Mini ejemplo · input() + conversión Python 3 · se ejecuta en tu navegador
voltaje = float(input("Voltaje en volts: "))
resistencia = float(input("Resistencia en ohmios: "))
corriente = voltaje / resistencia

print("Corriente:", corriente)
La primera ejecución descarga el intérprete (~10 MB).

Cada recuadro alimenta una llamada a input(), en orden.

¡Ojo! la entrada llega como texto

Si olvidas convertir el resultado de input(), Python no suma: une texto. Ejecuta el ejemplo y observa el TypeError de la sección de errores.

Mini ejemplo · input() sin convertir Python 3 · se ejecuta en tu navegador
lectura = input("Lectura de potencia: ")
print(lectura + 1)
La primera ejecución descarga el intérprete (~10 MB).

TypeError: can only concatenate str (not "int") to str

Regla práctica: variable = int(input(...)) o variable = float(input(...)) cuando el dato será un número.
2.5

Operaciones con los datos

Los operadores aritméticos funcionan como los de una calculadora, pero ahora se combinan con variables para repetir el cálculo tantas veces como sea necesario.

  • +, -, *, / suma, resta, multiplicación y división.
  • // división entera y % residuo de la división.
  • ** potencia: 2 ** 3 es 8.
  • Jerarquía: primero paréntesis, luego * y /, al final + y -.
Mini ejemplo · Operaciones Python 3 · se ejecuta en tu navegador
voltaje = 120
resistencia = 30

corriente = voltaje / resistencia
print(corriente)

print(voltaje * corriente)
print(7 // 2)
print(7 % 2)
print(2 ** 3)
La primera ejecución descarga el intérprete (~10 MB).

Cada línea muestra el resultado de una operación distinta.

2.6

Errores al operar datos de tipos distintos

El operador + suma números, pero une texto. Si intentas concatenar un str con un int, un float o un bool, Python detiene el programa y muestra un TypeError. Ejecuta cada ejemplo y observa el mensaje.

str + int → error

Un texto y un número entero no se pueden unir directamente.

Mini ejemplo · str + int Python 3 · se ejecuta en tu navegador
print("Potencia total: " + 240)
La primera ejecución descarga el intérprete (~10 MB).

TypeError: can only concatenate str (not "int") to str

str + float → error

Lo mismo ocurre con los números decimales.

Mini ejemplo · str + float Python 3 · se ejecuta en tu navegador
voltaje = 120
resistencia = 30
corriente = voltaje / resistencia
print("Corriente: " + corriente)
La primera ejecución descarga el intérprete (~10 MB).

TypeError: can only concatenate str (not "float") to str

str + bool → error

Los valores lógicos tampoco se concatenan con texto.

Mini ejemplo · str + bool Python 3 · se ejecuta en tu navegador
print("Alarma: " + True)
La primera ejecución descarga el intérprete (~10 MB).

TypeError: can only concatenate str (not "bool") to str

La solución: convertir antes de unir

Con str() transformas el número a texto y la concatenación funciona. Observa también que 2 + True sí se puede: en Python bool se comporta como un entero (True vale 1).

Mini ejemplo · Convertir para evitar el error Python 3 · se ejecuta en tu navegador
print("Potencia total: " + str(240))
print("Corriente: " + str(120 / 30) + " A")
print(2 + True)
La primera ejecución descarga el intérprete (~10 MB).

Con la conversión correcta el programa continúa sin detenerse.

Regla práctica: para unir texto con un dato numérico usa str(); para operar un texto numérico usa int() o float().
2.7

Condiciones: if, if / else y if / elif / else

Una condición evalúa una expresión a True o False y ejecuta el bloque indentado solo cuando se cumple. Los dos puntos : abren el bloque y la indentación (4 espacios) define qué instrucciones dependen de la condición.

if

Ejecuta el bloque solo si la condición se cumple. Si no se cumple, Python continúa con la siguiente línea.

Mini ejemplo · if Python 3 · se ejecuta en tu navegador
temperatura = 55

if temperatura > 50:
    print("Ventilador encendido")

print("Monitoreo activo")
La primera ejecución descarga el intérprete (~10 MB).

55 supera 50: se ejecuta el bloque if. La última línea se imprime siempre.

if / else

else define qué ocurre cuando la condición no se cumple. Siempre hay un camino para cada caso.

Mini ejemplo · if / else Python 3 · se ejecuta en tu navegador
voltaje = 95

if voltaje >= 100:
    print("Voltaje normal")
else:
    print("Bajo voltaje")

print("Medicion finalizada")
La primera ejecución descarga el intérprete (~10 MB).

95 no llega a 100, por eso se ejecuta la rama else.

if / elif / else

Cuando hay varios casos posibles, elif evalúa una segunda condición. Python revisa las condiciones en orden y ejecuta solo el primer bloque verdadero; si ninguna se cumple, ejecuta else.

Mini ejemplo · if / elif / else Python 3 · se ejecuta en tu navegador
corriente = 12

if corriente > 15:
    print("Sobrecarga")
elif corriente > 10:
    print("Carga alta")
else:
    print("Carga normal")
La primera ejecución descarga el intérprete (~10 MB).

12 no supera 15, pero sí pasa de 10: se imprime Carga alta.

Comparadores: > mayor, < menor, >= mayor o igual, <= menor o igual, == igual a, != distinto de.