Parte 4 — input() siempre devuelve texto
Incluso cuando escribimos números
Prueba este código:
edad = input("Escribe tu edad: ")
print(edad)
print(type(edad))Aunque escribas:
20el resultado del tipo será:
<class 'str'>input() siempre devuelve un str.
¿Por qué devuelve texto?
La terminal recibe caracteres escritos con el teclado.
Si el usuario escribe:
1000Python recibe inicialmente los caracteres:
"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
dato = input("Escribe algo: ")
print("Valor:", dato)
print("Tipo:", type(dato))Puedes probar escribiendo:
Hola100010.50TrueEn todos los casos, el tipo inicial será:
<class 'str'>"1000" no puede sumarse directamente con 500
Este código produce un error:
saldo = input("Saldo inicial: ")
ingreso = 500
saldo += ingresoAunque el usuario escriba 1000, la variable saldo contiene:
"1000"La variable ingreso contiene:
500Python no puede sumar directamente str e int.
Puede mostrar:
TypeError: can only concatenate str (not "int") to str