
Guía para programar en Python creada con Claude
Programar con Claude
sin morir en el intento
Guía para aprender a programar, depurar y revisar código con ayuda de la inteligencia artificial, pensada para Computación y Robótica, CDyPC y Programación y Computación.
La mentira que os han contado: “yo no sirvo para programar”
Si tuviera un euro por cada vez que un alumno me dice “es que yo para esto no valgo”, ya habría pagado la entrada del Pasaje del Terror de todo el instituto durante diez años. Programar no va de ser un genio de las matemáticas ni de “pensar en binario” (eso, de hecho, no significa nada). Va de decirle a un ordenador qué tiene que hacer, paso a paso, en un idioma que entienda. Con Python de por medio —que es de los idiomas más civilizados que existen— y con Claude al lado para preguntarle sin vergüenza, esto se parece más a seguir una receta de gazpacho que a resolver una ecuación diferencial.
¿Qué es un algoritmo? (Spoiler: ya usáis uno todos los días)
Una serie de pasos para conseguir algo. Nada más.
Antes de escribir ni una línea de código: un algoritmo es simplemente una serie de pasos para conseguir algo. Nada más. Vosotros ya usáis algoritmos constantemente, aunque no los llaméis así:
- →Hacer gazpacho: cortar verduras → triturar → añadir aceite y vinagre → colar → enfriar → servir.
- →Salir de casa en dos minutos porque se os han pegado las sábanas: vestirse → coger la mochila → coger el móvil (lo primero de todo, seamos sinceros) → salir corriendo.
Programar es exactamente esto, pero escrito en un idioma que el ordenador entienda en vez de en español.
Vuestro primer algoritmo con Claude: podéis pedirle algo como
«Ayúdame a escribir, paso a paso, el algoritmo para decidir si puedo apuntarme al Pasaje del Terror del instituto según mi edad y si me dan miedo los payasos, y explícame por qué cada paso importa.»
Claude os lo desglosaría en pasos concretos, cada uno con su motivo —exactamente igual que cuando yo os explico un ejercicio en clase: no solo el “qué”, también el “por qué”.
Python: por qué empezamos por aquí
De todos los “idiomas” que hablan los ordenadores, Python es el que menos ceremonia tiene: se lee casi como español mal traducido, no necesita mil símbolos raros, y es el lenguaje que se usa en Programación y Computación de 2º de Bachillerato, entre otras cosas, para la parte de análisis de datos e inteligencia artificial. Si algún día queréis aprender JavaScript (para páginas web) o robótica con más profundidad, no pasa nada, pero Python es la puerta de entrada más amable que existe.
La sintaxis: la gramática del código
Igual que “Vaca la lentamente comió hierba” suena raro en español, a Python tampoco le vale cualquier cosa. Estas son las piezas básicas:
Variables: cajas con etiqueta
nombre = "Lince de la Noche" # texto edad = 15 # número entero tiene_miedo = False # verdadero o falso
Funciones: instrucciones reutilizables
def saludo_heroico(nombre):
return f"¡{nombre}, activa tus poderes!"
mensaje = saludo_heroico("Lince de la Noche")
print(mensaje) # ¡Lince de la Noche, activa tus poderes!
Condiciones: el código toma decisiones
edad = 13
if edad >= 14:
print("Puedes entrar al Pasaje del Terror")
else:
print("Todavía no, pero ya casi")
Bucles: repetir sin escribir mil veces
for i in range(3):
print("No voy a dejar el proyecto para el último día")
(Ya, ya sé que no os lo vais a creer las tres veces que lo leáis, pero el bucle lo intenta.)
Tipos de datos que vais a usar sin parar
Diccionarios, pares de clave y valor, como una ficha de personaje:
heroe = {
"nombre": "Lince de la Noche",
"poder": "visión nocturna",
"debilidad": "el brillo de una pantalla de móvil"
}
Vuestro primer programa de verdad: el traductor de excusas
Nada de calculadoras aburridas para empezar. Vamos a construir algo con más gracia: un programa que puntúa lo creíble que es una excusa para no haber hecho los deberes.
# Traductor de excusas - ejemplo educativo # Practica: funciones, condicionales, listas, bucles, f-strings def puntuar_excusa(excusa): """Puntúa una excusa según ciertas palabras clave y devuelve un veredicto.""" puntos = 0 pistas = [] palabras_sospechosas = ["perro", "internet", "wifi", "no me acordaba"] for palabra in palabras_sospechosas: if palabra in excusa.lower(): puntos -= 1 pistas.append(f"Mencionar '{palabra}' resta credibilidad") palabras_creibles = ["médico", "hospital", "apagón", "avería"] for palabra in palabras_creibles: if palabra in excusa.lower(): puntos += 2 pistas.append(f"'{palabra}' suma bastante credibilidad") if puntos >= 2: veredicto = "Creíble. Aceptamos, por esta vez." elif puntos == 0: veredicto = "Dudosa. Te voy a mirar a los ojos un rato." else: veredicto = "Ni tú te la crees." return veredicto, pistas def main(): print("Traductor de excusas v1.0") print("-" * 25) excusa = input("Cuéntame tu excusa: ") veredicto, pistas = puntuar_excusa(excusa) print(f"\nVeredicto: {veredicto}") if pistas: print("Motivos:") for pista in pistas: print(f" • {pista}") if __name__ == "__main__": main()
Con este único programa ya habéis tocado: funciones con parámetros y valores de retorno, listas, bucles for, condicionales if/elif/else, y f-strings. Y de paso os habéis reído un rato, que también cuenta.
Depurar: convertirse en detective de errores, no en pitoniso
Buscar y arreglar fallos en el código.
Depurar (debugging) es buscar y arreglar fallos en el código, y es donde de verdad vais a pasar la mayor parte del tiempo programando. No es un castigo, es el juego en sí.
Tipos de bichos que os vais a encontrar
print("hola" # falta cerrar el paréntesis
# Se supone que calcula la media de dos notas nota1 = 6 nota2 = 8 media = nota1 + nota2 # falta dividir entre 2, esto no es la media
heroes = ["Lince de la Noche", "Butano-Hero"]
print(heroes[5]) # no existe una posición 5, esto revienta
El método del pato de goma (aquí, del profesor de guardia)
El truco de toda la vida: explicad vuestro código en voz alta, línea a línea, a alguien (o a algo) que no dice nada. Muchas veces, al explicarlo, os dais cuenta vosotros mismos de dónde está el fallo. La diferencia con un pato de goma de verdad es que a Claude sí le podéis preguntar después si vosotros no lo veis.
Ejemplo de depuración real: este código debería invertir una palabra, pero no funciona:
def invertir_palabra(palabra):
invertida = ""
for letra in palabra:
invertida = letra + invertida
return invertid # <- aquí está el fallo
print(invertir_palabra("Estepona"))
El fallo es una simple errata: la variable se llama invertida y en el return habéis escrito invertid. Python no tiene ni idea de qué es eso. La mayoría de los bugs son así: una letra de más o de menos con consecuencias desproporcionadas.
Revisión de código: que alguien (o algo) os lea antes de entregar
Revisar código es como pedirle a alguien que os lea la redacción antes de entregarla, pero para programas. Preguntas que merece la pena haceros (o hacerle a Claude):
x, y, cosa1), comentarios donde la lógica no sea obvia.“Claude, revisa este código y dime qué mejorarías, explicando por qué cada cambio lo hace mejor.”
Ideas de proyectos para practicar de verdad
En vez de una lista de tareas genérica, aquí van tres ideas con más chicha para practicar los mismos conceptos:
Guardar sesiones de running o gimnasio (fecha, distancia, sensaciones) en una lista de diccionarios, y sacar la media semanal.
El usuario escribe una reseña y el programa cuenta palabras clave positivas y negativas para dar un veredicto (sí, es un primo pequeño de lo que hace Claude cuando detecta sarcasmo, pero aquí lo hacéis vosotros con código).
Simular lecturas de un sensor de temperatura, guardarlas en una lista, y avisar si algún valor se sale de un rango normal.
Miedos típicos (y por qué no tienen fundamento)
En Python, en vuestro ordenador o en Replit, lo peor que puede pasar es que el programa se cierre. Reiniciáis y ya está.
Todo el mundo lo es al principio. La velocidad viene con la práctica, no es un don de nacimiento.
Mentira. Todo el mundo busca la sintaxis básica en Google a diario, incluidos programadores con veinte años de experiencia.
Programar es una habilidad, no un examen de inteligencia. Se entrena como el gimnasio o las carreras: con constancia, no con talento innato.
Para practicar en clase
Glosario
- algoritmo
- Una serie de pasos para conseguir algo.
- variable
- Una caja con etiqueta donde se guarda un dato.
- función
- Un bloque de instrucciones reutilizables.
- condición
- Un
if: el código toma decisiones. - bucle
- Repetir sin escribir mil veces lo mismo.
- string
- Cadena de texto, entre comillas.
- lista
- Una colección ordenada de valores.
- diccionario
- Pares de clave y valor, como una ficha de personaje.
- f-string
- Texto con huecos que se rellenan con variables.
- depurar · debug
- Buscar y arreglar fallos en el código.
- bug
- Un fallo. Normalmente, una letra de más o de menos.

Etiqueta:AIDARAC, Anthropic, Claude, código, depuración, ejercicios prácticos, ia, iesmonterroso, inteligencia artificial, montesteam, programación, python, tutorial



