variables y tipos de datos en Python práctica

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.

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.

Variables y tipos de datos en Python  práctica con pythontutor

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.


Variables and data types in Python — hands-on practice with VS Code

In the previous article we covered the theory behind variables and data types in Python. Now let’s write actual code. We’ll build two programs from scratch in VS Code: a grade average calculator and a BMI calculator.

Make sure you have VS Code set up with Python before starting.

How we’ll work

Open VS Code, create a folder called variables_practice and inside it create a new file called grade_average.py.

Variables y tipos de datos en Python  práctica con pythontutor

Program 1 — Grade average calculator

Simple version first:

# Grade average calculator
grade1 = float(input("Enter grade 1: "))
grade2 = float(input("Enter grade 2: "))
grade3 = float(input("Enter grade 3: "))

average = (grade1 + grade2 + grade3) / 3

print("Your average grade is:", average)

Improved version with rounding and pass/fail:

grade1 = float(input("Enter grade 1: "))
grade2 = float(input("Enter grade 2: "))
grade3 = float(input("Enter grade 3: "))

average = round((grade1 + grade2 + grade3) / 3, 2)
passed = average >= 5.0

print(f"Your average grade is: {average}")
print(f"Passed?: {passed}")

Program 2 — BMI calculator

Create a new file called imc.py. Body Mass Index is calculated by dividing weight in kilograms by height in meters squared.

# BMI Calculator
name = input("What's your name? ")
weight = float(input("Your weight in kg: "))
height = float(input("Your height in metres: "))

bmi = round(weight / (height ** 2), 1)

print(f"\nResults for {name}:")
print(f"Your BMI is: {bmi}")

Use Python Tutor to see what’s happening

Paste any of these programs into pythontutor.com and step through them line by line. You’ll see exactly when Python creates each variable and what type it assigns.

The 3 most common mistakes

Mistake 1 — Forgetting float():

# WRONG
grade1 = input("Grade 1: ")
average = grade1 / 3  # TypeError

# RIGHT
grade1 = float(input("Grade 1: "))

Mistake 2 — / vs //:

average = 21 / 3   # 7.0 — with decimals
average = 21 // 3  # 7   — integer division

Mistake 3 — Missing parentheses:

# MAL — divide solo la última nota entre 3
media = nota1 + nota2 + nota3 / 3

# BIEN — suma todo primero, luego divide
media = (nota1 + nota2 + nota3) / 3

Summary and next step

In this article, you practiced variables and data types in Python with two real programs. The key concepts you used were float() to convert input, round() to handle decimals, f-strings to display results, and the ** operator for exponents.

In the next article in this series, you’ll find practice exercises for you to solve on your own, with solutions included so you can compare your work.

Publicaciones Similares

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *