CODEZEROINTERACTIVE

Chapter 7 / 15

Parte 4 — `input()` siempre devuelve texto

Entrada de datos con input(), conversiones, respuestas del usuario y formulario interactivo de MiniFinance.

Lesson 535%

5 / 22 lessons in this chapter

Parte 4 — `input()` siempre devuelve texto

1 / 1 in this part

Current chapter

Chapter 7 — input(): recibir información del usuario

Self-paced

Parte 4 — input() siempre devuelve texto

Incluso cuando escribimos números

Prueba este código:

python terminal
edad = input("Escribe tu edad: ")

print(edad)
print(type(edad))

Aunque escribas:

text terminal
20

el resultado del tipo será:

text terminal
<class 'str'>

input() siempre devuelve un str.


¿Por qué devuelve texto?

La terminal recibe caracteres escritos con el teclado.

Si el usuario escribe:

text terminal
1000

Python recibe inicialmente los caracteres:

text terminal
"1000"

No decide automáticamente si representan:

  • Un saldo.
  • Un número de cuenta.
  • Un teléfono.
  • Un código postal.
  • Un identificador.
  • Texto normal.

El desarrollador debe decidir cómo interpretar la respuesta.


Demostración

python terminal
dato = input("Escribe algo: ")

print("Valor:", dato)
print("Tipo:", type(dato))

Puedes probar escribiendo:

text terminal
Hola
text terminal
1000
text terminal
10.50
text terminal
True

En todos los casos, el tipo inicial será:

text terminal
<class 'str'>

"1000" no puede sumarse directamente con 500

Este código produce un error:

python terminal
saldo = input("Saldo inicial: ")
ingreso = 500

saldo += ingreso

Aunque el usuario escriba 1000, la variable saldo contiene:

python terminal
"1000"

La variable ingreso contiene:

python terminal
500

Python no puede sumar directamente str e int.

Puede mostrar:

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