Aceptar la entrada del usuario

Completados

Tip

Consulte la pestaña Texto e imágenes para obtener más detalles.

Los programas se vuelven verdaderamente eficaces cuando pueden interactuar con las personas que las usan. Python función integrada input() le permite pausar el programa, esperar a que el usuario escriba algo y capturar esa información.

Uso de input()

Piense en la input() función como una pregunta. Cuando Python alcanza esta línea, espera hasta que el usuario escriba su respuesta y presione la tecla Entrar antes de continuar con el resto del código.

Para guardar su respuesta, debe "detectarla" mediante una variable:

favorite_color = input("What is your favorite color? ")
print("Oh, I love", favorite_color, "too!")

En este código, favorite_color es una variable que captura la respuesta del usuario. Si el usuario escribe Blue y presiona Entrar, la salida es:

What is your favorite color? Blue
Oh, I love Blue too!

Puede intentar ejecutar este código usted mismo en un intérprete de Python en línea en https://aka.ms/python-coder.

Tip

Observe el espacio en blanco al final del símbolo del sistema: "What is your favorite color? ". Al aceptar la entrada del usuario, agregue un espacio o una nueva línea antes de cerrar las comillas. Si no lo hace, la escritura del usuario se pegará directamente al texto, con el aspecto siguiente: What is your favorite color?Blue

Una palabra rápida sobre los tipos de datos

Antes de continuar, ayuda a saber que cada valor de Python tiene un tipo de datos, que es una etiqueta que indica Python con qué tipo de valor funciona. Por ejemplo, algunos tipos de datos comunes son:

  • Cadena (str): texto ajustado entre comillas, como "Blue" o "25". Incluso un número se convierte en texto cuando está entre comillas.
  • Entero (int): un número entero sin comillas, como 25 o 100. Python puede hacer matemáticas con estos.

¿Por qué es importante? Python trata estos dos tipos de forma muy diferente. Puede agregar números juntos (25 + 1 es igual 26a ), pero no puede agregar un número al texto ("25" + 1 provoca un error).

La entrada siempre es texto

Una regla esencial que debe recordar es que la input() función siempre devuelve texto, incluso si el usuario escribe un número. Por ejemplo:

age = input("How old are you? ")
print("Next year you will be", age + 1)

Si ejecuta este código y escribe 25, puede esperar que imprima 26. En su lugar, Python se bloquea y muestra un mensaje de error en la consola:

TypeError: can only concatenate str (not "int") to str

Dado que está age bloqueado como texto, aún no puede realizar operaciones matemáticas en él.

Cómo leer este error

Los errores son pistas de lo que salió mal en el código. Vamos a desglosar estas pistas:

  • TypeError: está intentando mezclar dos tipos de datos que no pertenecen juntos.
  • can only concatenate str (not "int") to str: "Concatenar" significa pegar texto juntos.

Python dice: "Me diste el texto "25" y me pidió que pegase el número 1. Puedo pegar texto al texto, pero no sé cómo pegar un número matemático a texto!"

Dado input() que bloquea la respuesta del usuario entre comillas de texto, Python ve el cálculo como "25" + 1, que es una ecuación matemática imposible.