Variables y tipos de datos en Python — práctica real con VS Code
En el artículo anterior vimos la teoría de las variables y tipos de datos en Python. Ahora toca lo bueno: escribir código real. En este artículo construimos dos programas desde cero en VS Code: una calculadora de nota media y un calculador del IMC. Son ejemplos simples pero usan todo lo que necesitas saber sobre variables y tipos de datos en situaciones reales.
Antes de empezar, asegúrate de tener VS Code con Python configurado. Si no lo tienes todavía, aquí tienes la guía.
Tabla de Contenidos
Cómo vamos a trabajar
Abre VS Code, crea una carpeta llamada practica_variables y dentro crea un archivo nuevo llamado nota_media.py. Así tienes todo organizado desde el principio, un hábito que en la carrera te va a ahorrar muchos dolores de cabeza.

Programa 1 — Calculadora de nota media
Este es exactamente el tipo de programa que puede aparecer en los primeros ejercicios de FP1. Queremos pedir tres notas al usuario y calcular la media.
Primero la versión simple:
# Calculadora de nota media
# Pedimos las tres notas
nota1 = float(input("Introduce la nota 1: "))
nota2 = float(input("Introduce la nota 2: "))
nota3 = float(input("Introduce la nota 3: "))
# Calculamos la media
media = (nota1 + nota2 + nota3) / 3
# Mostramos el resultado
print("Tu nota media es:", media)
```
Ejecútalo y verás algo así en la terminal de VS Code:
```
Introduce la nota 1: 7
Introduce la nota 2: 8.5
Introduce la nota 3: 6
Tu nota media es: 7.166666666666667
Funciona, pero hay dos cosas que mejorar. Primero, demasiados decimales. Segundo, sería útil saber si aprobaste o no. Aquí entra el valor añadido real; la versión mejorada:
# Calculadora de nota media — versión mejorada
nota1 = float(input("Introduce la nota 1: "))
nota2 = float(input("Introduce la nota 2: "))
nota3 = float(input("Introduce la nota 3: "))
media = (nota1 + nota2 + nota3) / 3
# Redondeamos a 2 decimales
media_redondeada = round(media, 2)
# Determinamos si aprobamos
aprobado = media_redondeada >= 5.0
print(f"Tu nota media es: {media_redondeada}")
print(f"¿Aprobado?: {aprobado}")
```
Resultado:
```
Introduce la nota 1: 7
Introduce la nota 2: 8.5
Introduce la nota 3: 6
Tu nota media es: 7.17
¿Aprobado?: True
Fíjate en lo que estamos usando aquí: float para las notas porque pueden tener decimales, round() para controlar los decimales del resultado, una variable bool para aprobado/suspenso, y f-strings para mostrar los resultados de forma limpia. Todo un Tema 2 de FP1 en 10 líneas.
Programa 2 — Calculador del IMC
Crea un archivo nuevo llamado imc.py. El Índice de Masa Corporal se calcula dividiendo el peso en kilos entre la altura en metros al cuadrado:
# Calculador del IMC
nombre = input("¿Cómo te llamas? ")
peso = float(input("¿Cuánto pesas en kg? "))
altura = float(input("¿Cuánto mides en metros? "))
# Calculamos el IMC
imc = peso / (altura ** 2)
imc_redondeado = round(imc, 1)
print(f"\nResultados para {nombre}:")
print(f"Tu IMC es: {imc_redondeado}")
```
Resultado:
```
¿Cómo te llamas? Sergio
¿Cuánto pesas en kg? 70
¿Cuánto mides en metros? 1.78
Resultados para Sergio:
Tu IMC es: 22.1
Aquí usamos str para el nombre, float para peso y altura, el operador ** para elevar al cuadrado, y \n para añadir una línea en blanco antes del resultado y que quede más limpio.
El truco de Python Tutor para entender qué pasa
Si algo no te cuadra en estos programas, copia el código en pythontutor.com y ejecútalo paso a paso. Verás exactamente en qué momento Python crea cada variable, qué tipo tiene y qué valor almacena. Es especialmente útil para entender por qué float(input(...)) funciona y input(...) solo no.

Los 3 errores más comunes en estos ejercicios
Después de ver esto en clase, estos son los fallos que aparecen siempre:
Error 1 — Olvidar el float():
# MAL — input() devuelve texto, no número
nota1 = input("Nota 1: ")
media = nota1 / 3 # TypeError aquí
# BIEN
nota1 = float(input("Nota 1: "))
media = nota1 / 3
Error 2 — Confundir / con //:
media = (7 + 8 + 6) / 3 # 7.0 — división normal con decimales media = (7 + 8 + 6) // 3 # 7 — división entera, sin decimales
Para notas siempre usa /.
Error 3 — El paréntesis en la media:
# MAL — divide solo la última nota entre 3 media = nota1 + nota2 + nota3 / 3 # BIEN — suma todo primero, luego divide media = (nota1 + nota2 + nota3) / 3
El orden de operaciones en Python es el mismo que en matemáticas: los paréntesis primero.
Resumen y siguiente paso
En este artículo practicaste variables y tipos de datos en Python con dos programas reales. Los conceptos clave que usaste fueron float() para convertir input, round() para controlar decimales, f-strings para mostrar resultados, y el operador ** para potencias.
En el próximo artículo de esta serie encontrarás ejercicios propuestos para que los resuelvas tú solo, con soluciones incluidas para que puedas comparar.

Un comentario