Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Función input()

Departamento de Tecnología
IES Frei Martín Sarmiento

En este notebook vas a aprender a usar la función input() para que tus programas puedan pedir datos al usuario desde el teclado.

¿Qué hace input()?

La función input() permite que un programa pare su ejecución, muestre un mensaje en pantalla y espere a que el usuario escriba algo y pulse Intro.

Primer ejemplo: leer un nombre

En este ejemplo se pide al usuario su nombre y se muestra por pantalla:

# Pedimos el nombre al usuario y lo mostramos
name = input("¿Cuál es tu nombre? ")
print("Hola,", name)

En este código:

  • input("¿Cuál es tu nombre? ") muestra el mensaje en la consola y espera a que el usuario escriba algo.

  • Lo que el usuario escribe se guarda en la variable name.

  • Después se muestra un saludo y el tipo de dato de la variable (verás <class 'str'>, que indica que es una cadena de texto).

input() siempre devuelve texto

Es muy importante recordar que input() siempre devuelve una cadena de texto (str), aunque el usuario escriba números.

Si quieres trabajar con números (sumar, restar, etc.), tendrás que convertir ese texto a entero (int) o a decimal (float).

Convertir la entrada a número

Si pedimos la edad a una persona, nos interesa tratarla como número para poder hacer operaciones con ella (por ejemplo, sumar 1):

# Pedimos la edad y la convertimos a entero
age = int(input("¿Cuántos años tienes? "))
print("El próximo año tendrás", age + 1)
print("Tipo de dato de age:", type(age))

Aquí ocurre lo siguiente:

  • input("¿Cuántos años tienes? ") devuelve un texto, por ejemplo "17".

  • int("17") convierte ese texto al número entero 17.

  • Ahora es posible sumar 1 y obtener la edad del próximo año.

Ejemplo: sumar dos números introducidos por el usuario

Mira el siguiente ejemplo. Primero veremos qué pasa si no convertimos la entrada a número, y después la versión correcta.

Versión incorrecta (concatena texto)

num_a = input("Introduzca el primer número: ")
num_b = input("Introduzca el segundo número: ")
resultado = num_a + num_b
print(resultado)

Si el usuario introduce 2 y 3, el resultado será 23, porque está juntando textos, no sumando números.

Versión correcta (suma números)

# Pedimos dos números y los sumamos correctamente
num_a = int(input("Introduzca el primer número: "))
num_b = int(input("Introduzca el segundo número: "))

resultado = num_a + num_b
print("La suma es:", resultado)