BitBite Python #2: Sumando las cifras

El camino hacia la pericia como programadores está plagado de ejercicios que van poniendo a prueba nuestra capacidad. Es absolutamente necesario pasar por ellos: resolviendo los problemas más elementales adquirimos las técnicas que nos permitirán afrontar los más complejos.

El programa de hoy es bien simple. Le pediremos al usuario que introduzca un número entero y nuestra misión será calcular la suma de todas sus cifras.

En el camino veremos cómo recorrer una cadena de caracteres (string) de principio a fin. Los strings son otro tipo de secuencias, como las tuplas o las listas y, como todas las secuencias, podemos acceder a sus elementos individualmente.

Comencemos solicitando la introducción del número y almacenando el dato en una variable:

numero=input('Introduce un número de las cifras que quieras: ')

Este tipo de sentencia ya te es familiar, pero no olvides que la entrada de input es una cadena de caracteres, aunque sólo hayamos introducido cifras numéricas. Es decir, la variable numero referencia a un string.

No estamos tratando, por el momento, los posibles errores de entrada. Confiamos en la buena fe del usuario, que sólo introducirá números.

Inicializamos la variable que contendrá la suma de todas las cifras:

suma=0

Vamos a recorrer ahora el string introducido desde el primer elemento hasta el último. Utilizaremos un bucle for:

for cifra in numero:
    suma+=int(cifra)

La variable cifra recorrerá uno a uno, todos los elementos de la secuencia (un string en este caso) de principio a fin. Por ejemplo, si numero es el string ‘207’, en la primera pasada del bucle, cifra es el carácter ‘2’, en la segunda ‘0’ y en la tercera ‘7’.

Date cuenta de que he rodeado cada cifra entre comillas. Esto es así porque los elementos de un array son caracteres simples, aunque representen un número.

Al ser caracteres simples y no números, para poder sumarlos necesitamos convertirlos a enteros. Para ello utilizamos la función int() que vemos en el bloque del for.

Una vez ha concluido el for tras recorrer todo el string, estamos en condiciones de imprimir el resultado final:

print(suma)

El programa sumacifras.py contiene el código completo de este sencillo ejercicio.

Javier Montero Gabarró


BitBite Python #2: Sumando las cifras


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

11 opiniones en “BitBite Python #2: Sumando las cifras”

  1. Muchas gracias por el tutorial, pero hay un pequeño fallo que indico para que no hayan confusiones, este codigo no funciona, para que funcione este codigo debes convertir la variable “numero” en “string” ya que un numero “Int” no es iterable, debajo de numero=input….etc hay que insertar str_numero= str(numero) y en el bucle for cambiar “numero” por “str_numero”.

    Asi queda:

    numero=input(‘Introduce un numero de las cifras que quieras: ‘)
    str_numero = str(numero)
    suma=0
    for cifra in str_numero:
    suma+=int(cifra)
    print(suma)

  2. Tienes razon pero no se porque me daba error, puede que sea por el pycharm no lo probe con el interprete nativo, lo mirare, lo siento de veras.

      1. Escribir un programa de python para calcular la suma de los dígitos en un entero…..///

        en ese ejemplo que usted paso , donde se define la variable cifra ??

Deja un comentario