Parte 18 — Errores comunes
No guardar el resultado de input()
input("Nombre: ")
print(nombre)La respuesta no fue guardada en nombre.
Correcto:
nombre = input("Nombre: ")
print(nombre)Olvidar convertir un monto
Incorrecto:
saldo = input("Saldo: ")
ingreso = input("Ingreso: ")
saldo_final = saldo + ingresoSi escribe 1000 y 500, el resultado será:
1000500Correcto:
saldo = int(input("Saldo: "))
ingreso = int(input("Ingreso: "))
saldo_final = saldo + ingresoResultado:
1500Convertir un identificador
Menos recomendable:
numero_cuenta = int(input("Número de cuenta: "))Si se escribe:
001234se convertirá en:
1234Mejor:
numero_cuenta = input("Número de cuenta: ")Introducir texto donde se espera un número
saldo = int(input("Saldo: "))Entrada:
milResultado:
ValueErrorHasta que aprendamos a manejarlo, debemos seguir el formato solicitado.
Utilizar coma decimal
precio = float(input("Precio: "))Entrada incorrecta:
10,50Entrada correcta:
10.50Confundir respuesta textual con booleano
cuenta_activa = input("¿Activa? ")Aunque el usuario escriba True, el valor es str.
Utilizar bool() incorrectamente
Incorrecto para interpretar “sí” y “no”:
respuesta = bool(input("¿Continuar? "))Tanto "sí" como "no" producen True por ser textos no vacíos.
Olvidar las comillas del mensaje
Incorrecto:
nombre = input(Escribe tu nombre: )Correcto:
nombre = input("Escribe tu nombre: ")No cerrar paréntesis
Incorrecto:
saldo = int(input("Saldo: ")Aquí se abrieron dos paréntesis:
int(
input(Por eso deben cerrarse dos:
saldo = int(input("Saldo: "))Confundir input con una variable
Incorrecto:
input = "Daniel"
nombre = input("Nombre: ")Al asignar texto al nombre input, reemplazamos temporalmente la referencia a la función.
Evita utilizar nombres de funciones incorporadas como variables:
input
print
int
float
str
typeEscribir la respuesta dentro del código
El archivo contiene:
nombre = input("Nombre: ")La respuesta se escribe en la terminal cuando el programa se ejecuta.
No debes modificar la línea para poner:
nombre = input("Nombre: Daniel")Eso solamente cambia el mensaje visible.
No establece automáticamente la respuesta.