martes, 14 de julio de 2026

Sumar todos los dígitos de un número natural en Python

Código del ejercicio:

x = int(input("Ingrese un número natural: "))
sumador = 0
while(x > 0):
  digito = x % 10
  sumador += digito
  x = x // 10
print("La suma es:", sumador)

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
append() --> agrega un elemento al final de la lista.
sum() --> devuelve un número, la suma de todos los elementos en un iterable.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = int(input("Ingrese un número natural: "))
sumador = 0
while(x > 0):
    digito = x % 10
    sumador += digito
    x = x // 10
print("La suma es:", sumador)

Explicación del código

Código Explicación sencilla
x = int(input("Ingrese un número natural: ")) Solicita al usuario un número natural y lo convierte en un número entero para poder realizar operaciones matemáticas.
sumador = 0 Crea una variable llamada sumador que almacenará la suma de todos los dígitos. Comienza en cero.
while(x > 0): El ciclo se repite mientras el número sea mayor que cero. En cada repetición se procesa un dígito.
digito = x % 10 Obtiene el último dígito del número usando el operador módulo (%).
sumador += digito Suma el dígito obtenido al valor almacenado en sumador.
x = x // 10 Elimina el último dígito del número mediante la división entera, para continuar con el siguiente dígito.
print("La suma es:", sumador) Cuando termina el ciclo, muestra la suma total de todos los dígitos del número ingresado.

¿Cómo funciona?

Si el usuario ingresa el número 5834, el programa realiza el siguiente proceso:

  • Obtiene el 4 y lo suma.
  • Obtiene el 3 y lo suma.
  • Obtiene el 8 y lo suma.
  • Obtiene el 5 y lo suma.
  • La suma final es 20.
Resumen:
Este programa recorre cada dígito del número de derecha a izquierda utilizando un ciclo while. En cada vuelta obtiene el último dígito, lo agrega a una variable acumuladora y elimina ese dígito del número. Al finalizar, muestra la suma total de todos los dígitos.

Código del ejercicio: Otra forma de hacer

x = input("Ingrese un número natural: ")
lista = []
for digito in x:
  lista.append(int(digito))
print("La suma es:", sum(lista))

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
append() --> agrega un elemento al final de la lista.
sum() --> devuelve un número, la suma de todos los elementos en un iterable.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = input("Ingrese un número natural: ")
lista = []
for digito in x:
    lista.append(int(digito))
print("La suma es:", sum(lista))

Explicación paso a paso

Código Explicación sencilla
x = input("Ingrese un número natural: ") Solicita al usuario que ingrese un número y lo guarda como una cadena de texto para poder recorrer cada uno de sus dígitos.
lista = [] Crea una lista vacía donde se almacenarán los dígitos del número.
for digito in x: Recorre uno por uno los caracteres (dígitos) que forman el número ingresado.
lista.append(int(digito)) Convierte cada dígito de texto en un número entero y lo agrega a la lista.
print("La suma es:", sum(lista)) sum(lista) suma todos los números almacenados en la lista y muestra el resultado en pantalla.

¿Cómo funciona?

Si el usuario escribe el número 4837, el programa realiza lo siguiente:

  1. Guarda el número como texto: "4837".
  2. Recorre cada dígito: 4, 8, 3 y 7.
  3. Los convierte en números y los guarda en la lista:
    [4, 8, 3, 7]
  4. La función sum() suma todos los elementos:
    4 + 8 + 3 + 7 = 22
  5. Finalmente muestra:
    La suma es: 22

Resumen

Este programa solicita un número natural, recorre cada uno de sus dígitos, los convierte en números enteros y los guarda en una lista. Finalmente, utiliza la función sum() para sumar todos los elementos de la lista y mostrar la suma total de los dígitos.

Código del ejercicio: Otra forma de hacer

x = input("Ingrese un número natural: ")
sumador = 0
for digito in x:
  sumador += int(digito)
print("La suma es:", sumador)

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
append() --> agrega un elemento al final de la lista.
sum() --> devuelve un número, la suma de todos los elementos en un iterable.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código Explicación
x = input("Ingrese un número natural: ") Solicita al usuario que ingrese un número natural y lo guarda como una cadena de texto para poder recorrer cada uno de sus dígitos.
sumador = 0 Crea una variable llamada sumador con el valor inicial de 0. En esta variable se almacenará la suma de todos los dígitos.
for digito in x: Recorre uno por uno todos los dígitos que forman el número ingresado.
sumador += int(digito) Convierte cada dígito de texto a un número entero utilizando int() y lo suma al valor almacenado en sumador.
print("La suma es:", sumador) Muestra en pantalla la suma total de todos los dígitos del número ingresado.

No hay comentarios.:

Publicar un comentario

Sumar todos los dígitos de un número natural en Python

Código del ejercicio: x = int ( input ( "Ingrese un número natural: " )) sumador = 0 while (x > 0 ):   digito = x %...

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️