CODEZEROINTERACTIVE

Chapter 7 / 15

Parte 5 — Convertir respuestas

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

Lesson 636%

6 / 22 lessons in this chapter

Parte 5 — Convertir respuestas

1 / 1 in this part

Current chapter

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

Self-paced

Parte 5 — Convertir respuestas

Convertir con int()

Para solicitar un número entero:

python terminal
saldo_texto = input("Saldo inicial: ")
saldo = int(saldo_texto)

print("Saldo:", saldo)
print("Tipo:", type(saldo))

Si el usuario escribe:

text terminal
1000

el resultado será:

text terminal
Saldo: 1000
Tipo: <class 'int'>

Conversión directa

Podemos realizar ambas operaciones en una línea:

python terminal
saldo = int(input("Saldo inicial: "))

El orden interno es:

  1. input() recibe texto.
  2. int() convierte el texto.
  3. El resultado se guarda en saldo.
text terminal
El usuario escribe 1000
            ↓
input() devuelve "1000"
            ↓
int("1000") devuelve 1000
            ↓
saldo guarda el número 1000

Forma larga y forma corta

Forma larga:

python terminal
saldo_texto = input("Saldo inicial: ")
saldo = int(saldo_texto)

Forma corta:

python terminal
saldo = int(input("Saldo inicial: "))

Ambas funcionan.

La forma larga puede ser útil mientras estás aprendiendo porque permite observar cada paso.

La forma corta es muy común en proyectos reales.


Solicitar un decimal

Para aceptar valores decimales usamos float():

python terminal
tipo_cambio = float(input("Tipo de cambio: "))

print(tipo_cambio)
print(type(tipo_cambio))

Si el usuario escribe:

text terminal
512.75

el valor será de tipo float.


El usuario debe utilizar punto decimal

Correcto:

text terminal
19.99

Incorrecto para float():

text terminal
19,99

Este código:

python terminal
precio = float(input("Precio: "))

producirá un error si el usuario escribe una coma decimal.

Más adelante aprenderemos a limpiar y validar ese tipo de entrada.


Datos que deben permanecer como texto

No conviertas todo automáticamente a números.

Por ejemplo:

python terminal
numero_cuenta = input("Número de cuenta: ")

Si el usuario escribe:

text terminal
001234

queremos conservar los ceros iniciales.

Por eso debe permanecer como str.


Teléfonos y documentos

También suelen guardarse como texto:

python terminal
telefono = input("Número de teléfono: ")
documento = input("Número de identificación: ")
codigo_postal = input("Código postal: ")

Aunque contienen dígitos, no se utilizan normalmente en operaciones matemáticas.


Elegir si convertimos

Antes de convertir, pregunta:

¿Necesito utilizar este dato en cálculos?

Si la respuesta es sí:

python terminal
saldo = int(input("Saldo: "))

Si es un identificador:

python terminal
numero_cuenta = input("Número de cuenta: ")