Lección 4 de 45 · Fundamentos

Entrada y salida

Haz que un programa deje de ser un monólogo: recibe información del usuario, la transforma y responde.

Paso a pasoViaje del datoAvanza a tu ritmo
Índice · Lección 4/45
De programa fijo a programa interactivo

Hasta ahora el código ya contenía todos los datos. A partir de aquí aprenderás el circuito básico de muchos programas: pedir un dato → guardarlo → usarlo → mostrar una respuesta.

Evidencia de aprendizaje

Seguir un dato desde lo que escribe una persona hasta la conversión y la respuesta del programa.

Salida: print() enseña información

Ya has usado print(). Puedes mostrar texto, números o variables:

El programa habla
nombre = "Marta"
print("Hola")
print(nombre)
print(2 + 3)

No necesitas un print() por cada palabra. Más adelante aprenderás formas cómodas de combinar texto y valores. Por ahora nos interesa separar bien la salida de la entrada.

Entrada: input() espera una respuesta

El programa escucha
nombre = input("¿Cómo te llamas? ")
print("Encantado de conocerte")
print(nombre)

input() muestra una pregunta y espera que la persona escriba algo. Esa respuesta queda guardada en nombre.

Dato clave: input() devuelve texto. Incluso si el usuario escribe 25, Python recibe inicialmente "25".

Cuando quieres calcular, convierte primero

Si una edad llega como texto, no conviene sumarle directamente un número. Convierte ese texto con int():

De texto a entero
respuesta = input("¿Qué edad tienes? ")
edad = int(respuesta)
print(edad + 1)
  1. input() obtiene una respuesta en forma de texto.
  2. int(respuesta) intenta convertirla en un número entero.
  3. Ahora edad + 1 es una suma numérica.
¿Y si alguien escribe «veinte»?

int("veinte") no puede convertir esa palabra en un entero y Python producirá un error. Más adelante aprenderás a gestionar entradas no válidas; ahora basta con entender por qué ocurre.

Haz visible el viaje de un dato

Simulación guiada · enteros decimales sencillos
Pulsa “Seguir el dato”.

Este pequeño laboratorio no finge que el editor tiene una terminal. Simula el caso habitual de un entero decimal sencillo para hacer visibles las tres etapas: input() produce texto, int() lo convierte y después ya puedes calcular. Python admite más formas de entero de las que esta simulación necesita mostrar; el editor interactivo usa el intérprete real.

En el editor simulamos que input() devolvió el texto "20". Convierte esa variable y calcula la edad del año próximo.

Salida esperada
21
entrada_convertida.py
La salida aparecerá aquí.

Necesito una pista
  • respuesta contiene el texto que habría llegado desde input().
  • Dentro de int(...) debe ir el nombre de esa variable.
Ver una solución razonada
respuesta = "20"
edad = int(respuesta)
print(edad + 1)
En una terminal real: la primera línea sería respuesta = input("¿Qué edad tienes? "). La conversión posterior sería exactamente la misma.

Cómo pensar cuando veas un error de tipos

Si Python protesta al combinar un valor obtenido con input() y un número, antes de cambiar muchas líneas pregunta: «¿sigo teniendo texto donde necesito un número?»

Ese diagnóstico concreto suele resolver el problema mucho más rápido que probar cambios al azar.

  • print() muestra información.
  • input() recibe una respuesta como texto.
  • int() convierte un texto numérico en entero cuando necesitas calcular.
Continúa si…

puedes explicar por qué el texto "20" necesita convertirse antes de hacer 20 + 1.