Ejemplo 2: El procesador de números
Este programa muestra un método simple que permite ingresar una línea llena de números y sumarlos fácilmente. Nota: la función input(), combinada junto con las funciones int() o float(), no es lo adecuado para este propósito.
El procesamiento será extremadamente fácil: queremos que se sumen los números.
#Procesador de Números.
linea = input("Ingresa una línea de números, sepáralos con espacios: ")
cadenas = linea.split()
total = 0
try:
for car_num in cadenas:
total += float(car_num)
print("El total es:", total)
except:
print(car_num, "no es un numero.")
Veamos la explicación del código:
- Pide al usuario que ingrese una línea llena de cualquier cantidad de números (los números pueden ser flotantes).
- Divide la línea en una lista con subcadenas.
- Se inicializa la suma total a cero.
- Como la conversión de cadena a flotante puede generar una excepción, es mejor continuar con la protección del bloque try-except.
- Itera a través de la lista…
- … e intenta convertir todos sus elementos en números flotantes; si funciona, aumenta la suma.
- Todo está bien hasta ahora, así que imprime la suma.
- El programa termina aquí en caso de error.
- Imprime un mensaje de diagnóstico que muestra al usuario el motivo de la falla.
El código tiene una debilidad importante: muestra un resultado falso cuando el usuario ingresa una línea vacía. ¿Puedes arreglarlo?