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.

Contar la cantidad de dígitos pares e impares que tiene un número natural en Python

Código del ejercicio:

x = int(input("Ingrese un número natural: "))
pares = 0
impares = 0
if x >= 0:
  while x > 0:
    digito = x % 10
    if digito % 2 == 0:
      pares += 1
    else:
      impares += 1
    x = x // 10
  print("La cantidad de digitos pares son:", pares)
  print("La cantidad de digitos impares son:", impares)
else:
  print("Por favor ingresa un número natural")

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código en Python

x = int(input("Ingrese un número natural: ")) pares = 0 impares = 0 if x >= 0: while x > 0: digito = x % 10 if digito % 2 == 0: pares += 1 else: impares += 1 x = x // 10 print("La cantidad de dígitos pares son:", pares) print("La cantidad de dígitos impares son:", impares) else: print("Por favor ingresa un número natural")

Explicación simple del código

Código Explicación
x = int(input("Ingrese un número natural: ")) Solicita al usuario un número natural y lo guarda en la variable x.
pares = 0 Crea un contador para llevar la cantidad de dígitos pares.
impares = 0 Crea un contador para llevar la cantidad de dígitos impares.
if x >= 0: Comprueba que el número ingresado sea un número natural (mayor o igual a cero).
while x > 0: Repite el proceso mientras el número tenga dígitos por revisar.
digito = x % 10 Obtiene el último dígito del número usando el operador módulo (%).
if digito % 2 == 0: Verifica si el dígito es par.
pares += 1 Si el dígito es par, aumenta en uno el contador de pares.
else: Si el dígito no es par, significa que es impar.
impares += 1 Aumenta en uno el contador de dígitos impares.
x = x // 10 Elimina el último dígito del número para continuar con el siguiente.
print("La cantidad de dígitos pares son:", pares) Muestra cuántos dígitos pares tiene el número.
print("La cantidad de dígitos impares son:", impares) Muestra cuántos dígitos impares tiene el número.
else: Se ejecuta si el número ingresado es negativo.
print("Por favor ingresa un número natural") Informa al usuario que debe ingresar un número natural.

Resumen del funcionamiento

El programa solicita un número natural. Luego revisa cada uno de sus dígitos comenzando por el último. Si el dígito es par, aumenta el contador de números pares; si es impar, aumenta el contador de números impares. Al finalizar, muestra cuántos dígitos pares e impares tiene el número ingresado. Si el usuario introduce un número negativo, muestra un mensaje indicando que debe ingresar un número natural.

Código del ejercicio: Otra forma de hacer

x = input("Ingrese un número natural: ")
pares = 0
impares = 0
for digito in x:
  if int(digito) % 2 == 0:
    pares += 1
  else:
    impares += 1
print("La cantidad de digitos pares son:", pares)
print("La cantidad de digitos impares son:", impares)

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
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: ")
pares = 0
impares = 0

for digito in x:
    if int(digito) % 2 == 0:
        pares += 1
    else:
        impares += 1

print("La cantidad de digitos pares son:", pares)
print("La cantidad de digitos impares son:", impares)

Explicación paso a paso

1. Solicitar un número al usuario

x = input("Ingrese un número natural: ")

Se pide al usuario que escriba un número natural. El número se guarda como texto para poder recorrer cada uno de sus dígitos.
2. Crear los contadores

pares = 0
impares = 0

Se crean dos variables:
  • pares: contará cuántos dígitos pares hay.
  • impares: contará cuántos dígitos impares hay.
Al inicio ambas valen 0.
3. Recorrer cada dígito

for digito in x:

El ciclo for recorre uno por uno todos los caracteres del número ingresado. Por ejemplo, si el usuario escribe 48275, el ciclo recorrerá:
  • 4
  • 8
  • 2
  • 7
  • 5
4. Convertir el dígito a número

int(digito)

Cada dígito se convierte de texto a número para poder realizar operaciones matemáticas.
5. Verificar si el dígito es par

if int(digito) % 2 == 0:

Se utiliza el operador % (módulo), que obtiene el residuo de una división entre 2.
  • Si el residuo es 0, el dígito es par.
  • Si el residuo es distinto de 0, el dígito es impar.
6. Aumentar el contador correspondiente

Si el dígito es par:
pares += 1
Se suma uno al contador de dígitos pares. Si el dígito es impar:
impares += 1
Se suma uno al contador de dígitos impares.
7. Mostrar los resultados

print("La cantidad de digitos pares son:", pares)
print("La cantidad de digitos impares son:", impares)
Al finalizar el recorrido, se muestran la cantidad de dígitos pares y la cantidad de dígitos impares que tiene el número ingresado.

Ejemplo de ejecución

Ingrese un número natural: 48275

La cantidad de digitos pares son: 3
La cantidad de digitos impares son: 2

Resumen

  • Se solicita un número natural.
  • Se crean dos contadores: uno para pares y otro para impares.
  • Se recorre cada dígito del número.
  • Cada dígito se convierte a entero.
  • Con el operador % se verifica si es par o impar.
  • Se incrementa el contador correspondiente.
  • Al final se muestran las cantidades de dígitos pares e impares.

Contar la cantidad de dígitos de un número natural en Python

Código del ejercicio:

x = int(input("Ingresar un número natural: "))
c = 0
if 0 <= x < 10:
  print("La cantidad de digitos son: 1")
else:
  while x > 0:
    c += 1
    x = x // 10
  print("La cantidad de digitos son:", c)

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Este programa solicita al usuario un número natural y determina cuántos dígitos tiene. Para ello, divide el número entre 10 repetidamente hasta que llegue a cero, contando cuántas veces realiza esa operación.

Código

x = int(input("Ingresar un número natural: "))
c = 0

if 0 <= x < 10:
    print("La cantidad de digitos son: 1")
else:
    while x > 0:
        c += 1
        x = x // 10
    print("La cantidad de digitos son:", c)

Explicación paso a paso

  1. x = int(input("Ingresar un número natural: "))
    Solicita al usuario un número natural y lo convierte en un número entero para poder trabajar con él.
  2. c = 0
    Crea una variable llamada c que servirá como contador de la cantidad de dígitos. Comienza en cero.
  3. if 0 <= x < 10:
    Comprueba si el número tiene un solo dígito, es decir, si está entre 0 y 9.
  4. print("La cantidad de digitos son: 1")
    Si el número tiene un solo dígito, muestra directamente que la cantidad de dígitos es 1.
  5. else:
    Si el número tiene más de un dígito, ejecuta el siguiente bloque de instrucciones.
  6. while x > 0:
    Repite el proceso mientras el número sea mayor que cero.
  7. c += 1
    Cada vez que se ejecuta el ciclo, aumenta el contador en uno porque se ha contado un dígito.
  8. x = x // 10
    Elimina el último dígito del número usando división entera entre 10.
  9. print("La cantidad de digitos son:", c)
    Cuando el número llega a cero, el ciclo termina y se muestra la cantidad total de dígitos contados.

Ejemplo de ejecución

Entrada:

Ingresar un número natural: 54829

Salida:

La cantidad de digitos son: 5

Resumen

El programa cuenta la cantidad de dígitos de un número natural eliminando un dígito en cada repetición mediante la división entera entre 10. Cada vez que elimina un dígito, incrementa un contador. Al finalizar el proceso, el contador indica el número total de dígitos que tenía el número ingresado.

Código del ejercicio: Otra forma de hacer

x = input("Ingresar un número natural: ")
if x.isnumeric():
  print("La cantidad de digitos son: ", len(x))
else:
  print("Por favor ingrese un número natural")

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = input("Ingresar un número natural: ")

if x.isnumeric():
    print("La cantidad de digitos son: ", len(x))  
else:
    print("Por favor ingrese un número natural")

Explicación del código

1. Solicitar un dato al usuario
x = input("Ingresar un número natural: ")

Se pide al usuario que escriba un número natural. El dato se guarda como una cadena de texto en la variable x.
2. Verificar que el dato sea un número
if x.isnumeric():

El método isnumeric() comprueba que todos los caracteres sean números. Si el usuario escribe únicamente dígitos, la condición es verdadera.
3. Contar los dígitos
len(x)

La función len() cuenta la cantidad de caracteres que tiene la cadena. Como la cadena contiene solo números, el resultado corresponde a la cantidad de dígitos.
4. Mostrar el resultado
print("La cantidad de digitos son: ", len(x))

Se muestra en pantalla la cantidad de dígitos que tiene el número ingresado.
5. Mostrar un mensaje de error
else:
print("Por favor ingrese un número natural")

Si el usuario escribe letras, símbolos o cualquier otro carácter que no sea un número, el programa informa que debe ingresar un número natural.

¿Cómo funciona el programa?

El programa solicita un número natural al usuario y primero verifica que la entrada contenga únicamente números utilizando isnumeric(). Si la entrada es válida, utiliza la función len() para contar cuántos dígitos tiene el número y muestra el resultado. Si la entrada no es un número natural, presenta un mensaje indicando que el dato ingresado no es válido.

Código del ejercicio: Otra forma de hacer

x = input("Ingresar un número natural: ")
c = 0
for digito in x:
  c += 1
print("La cantidad de digitos son:", c)

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
+= --> 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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
isnumeric() --> devuelve True si todos los caracteres son numéricos (0-9), de lo contrario, False.
len() --> devuelve el número de elementos de un objeto.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

x = input("Ingresar un número natural: ")
c = 0
for digito in x:
    c += 1
print("La cantidad de digitos son:", c)

Explicación paso a paso

  • x = input("Ingresar un número natural: ")
    Solicita al usuario que escriba un número natural y lo guarda como una cadena de texto. De esta forma, cada dígito puede recorrerse uno por uno.
  • c = 0
    Crea una variable llamada c que servirá como contador. Comienza en cero porque todavía no se ha contado ningún dígito.
  • for digito in x:
    Recorre cada carácter (cada dígito) que contiene el número ingresado. En cada vuelta del ciclo, la variable digito toma el valor de un dígito diferente.
  • c += 1
    Cada vez que el ciclo encuentra un dígito, aumenta el contador en uno. Al finalizar el recorrido, el contador tendrá la cantidad total de dígitos.
  • print("La cantidad de digitos son:", c)
    Muestra en pantalla la cantidad total de dígitos que tiene el número ingresado por el usuario.
Resumen:
Este programa pide un número natural, recorre cada uno de sus dígitos utilizando un ciclo for, incrementa un contador por cada dígito encontrado y, al finalizar, muestra la cantidad total de dígitos del número.

Determinar si un número es perfecto en Python

Código del ejercicio:

x = int(input("Ingresar número: "))
sumador = 0
for c in range(1, x):
  if x % c == 0:
    sumador += c
if x == sumador:
  print("Es un número perfecto")
else:
  print("No es un número perfecto")

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.
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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
% --> 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.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código

x = int(input("Ingresar número: "))
sumador = 0

for c in range(1, x):
    if x % c == 0:
        sumador += c

if x == sumador:
    print("Es un número perfecto")
else:
    print("No es un número perfecto")

Explicación paso a paso

Código Explicación sencilla
x = int(input("Ingresar número: ")) Solicita al usuario un número entero y lo guarda en la variable x.
sumador = 0 Crea una variable llamada sumador que almacenará la suma de todos los divisores propios del número.
for c in range(1, x): Recorre todos los números desde 1 hasta x - 1 para comprobar cuáles son divisores del número.
if x % c == 0: Comprueba si c divide exactamente a x. Si el residuo es 0, significa que es un divisor.
sumador += c Si c es divisor, se suma al valor de sumador.
if x == sumador: Compara si la suma de todos los divisores propios es igual al número ingresado.
print("Es un número perfecto") Se ejecuta cuando el número es perfecto.
else: Se ejecuta cuando la condición anterior no se cumple.
print("No es un número perfecto") Muestra un mensaje indicando que el número no es perfecto.
¿Qué es un número perfecto?

Un número perfecto es aquel cuya suma de sus divisores positivos, sin incluir el propio número, es igual a él mismo.

Ejemplo:
  • 6 → divisores: 1, 2 y 3
  • 1 + 2 + 3 = 6
  • Como la suma es igual al número, 6 es un número perfecto.
Otro ejemplo es el número 28, ya que:
  • Divisores: 1, 2, 4, 7 y 14
  • 1 + 2 + 4 + 7 + 14 = 28

Calcular la potencia de un número entero en Python

Código del ejercicio:

x = int(input("Ingresar un número entero: "))
y = int(input("Ingresar N: "))
resultado = x ** y
print("Resultado:", resultado)

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.
** --> exponenciación.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.

Explicación del Código:

Código

x = int(input("Ingresar un número entero: "))
y = int(input("Ingresar N: "))
resultado = x ** y
print("Resultado:", resultado)

Explicación simple del código

  • x = int(input("Ingresar un número entero: "))
    Solicita al usuario que ingrese un número entero. La función int() convierte el dato ingresado en un número para poder realizar operaciones matemáticas.
  • y = int(input("Ingresar N: "))
    Pide el exponente, es decir, la cantidad de veces que el número se multiplicará por sí mismo. También se convierte a entero con int().
  • resultado = x ** y
    Calcula la potencia utilizando el operador **. Este operador eleva la base x al exponente y.

    Ejemplo:
    • 2 ** 3 = 8
    • 5 ** 2 = 25
    • 10 ** 4 = 10000
  • print("Resultado:", resultado)
    Muestra en pantalla el resultado de la potencia calculada.
Resumen:
El programa solicita un número entero y un exponente, calcula la potencia utilizando el operador ** y finalmente muestra el resultado obtenido.

Código del ejercicio: Otra forma de hacer

x = int(input("Ingresar un número entero: "))
y = int(input("Ingresar N: "))
print("Resultado:", x**y)

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.
** --> exponenciación.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.

Explicación del Código:

Código

x = int(input("Ingresar un número entero: "))
y = int(input("Ingresar N: "))
print("Resultado:", x**y)

Explicación del código

Línea de código Explicación sencilla
x = int(input("Ingresar un número entero: ")) Solicita al usuario un número entero y lo guarda en la variable x.
y = int(input("Ingresar N: ")) Solicita el valor del exponente y lo almacena en la variable y.
print("Resultado:", x**y) Calcula la potencia de x elevada a y utilizando el operador ** y muestra el resultado en pantalla.

¿Qué hace este programa?

Este programa solicita al usuario un número entero y un exponente. Después calcula la potencia utilizando el operador ** de Python y finalmente muestra el resultado en pantalla.

Ejemplo de ejecución

Ingresar un número entero: 5
Ingresar N: 3
Resultado: 125

Código del ejercicio: Otra forma de hacer

x = int(input("Ingresar un número entero: "))
y = int(input("Ingresar N: "))
print(f"Resultado: {x ** y}")

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.
** --> exponenciación.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.

Explicación del Código:

Código

x = int(input("Ingresar un número entero: "))
y = int(input("Ingresar N: "))
print(f"Resultado: {x ** y}")

Explicación del código

Código Explicación
x = int(input("Ingresar un número entero: ")) Solicita al usuario un número entero. La función input() recibe el dato como texto y int() lo convierte en un número entero para poder realizar operaciones matemáticas.
y = int(input("Ingresar N: ")) Solicita el valor del exponente (N). También se convierte a un número entero mediante int().
x ** y El operador ** calcula la potencia de un número. Eleva el valor de x a la potencia indicada por y.
print(f"Resultado: {x ** y}") Muestra en pantalla el resultado de la potencia utilizando una cadena formateada (f-string), lo que permite insertar el resultado directamente dentro del texto.
Resumen: Este programa solicita un número entero y un exponente. Después calcula la potencia del número utilizando el operador ** y finalmente muestra el resultado en pantalla.

Código del ejercicio: Otra forma de hacer

x = int(input("Ingresar un número entero: "))
y = int(input("Ingresar N: "))
print("Resultado: {}".format(x ** y))

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.
** --> exponenciación.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.

Explicación del Código:

Código

x = int(input("Ingresar un número entero: ")) y = int(input("Ingresar N: ")) print("Resultado: {}".format(x ** y))

Explicación simple del código

Línea de código Explicación
x = int(input("Ingresar un número entero: ")) Solicita al usuario un número entero y lo guarda en la variable x. La función int() convierte el dato ingresado en un número entero.
y = int(input("Ingresar N: ")) Solicita el valor del exponente y lo almacena en la variable y, convirtiéndolo también en un número entero.
x ** y El operador ** calcula la potencia de un número. Eleva el valor de x a la potencia y.
"Resultado: {}".format(x ** y) La función format() inserta el resultado de la operación dentro del texto donde aparecen las llaves {}.
print(...) Muestra en la pantalla el mensaje junto con el resultado de la potencia calculada.
Resumen:

El programa pide un número entero y un exponente. Luego calcula la potencia utilizando el operador ** y muestra el resultado en pantalla usando la función format() para insertar el valor dentro del texto.

Determinar si un número natural es capicúa en Python

Código del ejercicio: Con ciclo while

x = int(input("Ingresar número natural: "))
auxiliar = x
capicua = 0
while x > 0:
  ultimo = x % 10
  capicua = (capicua * 10) + ultimo
  x = x // 10
if capicua == auxiliar:
  print("Es capicúa")
else:
  print("No es capicúa")

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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
> --> 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.
// --> 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.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
len() --> devuelve el número de elementos de un objeto.
append() --> agrega un elemento al final de la lista.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Este programa solicita un número natural al usuario y verifica si es capicúa. Un número es capicúa cuando se lee igual de izquierda a derecha que de derecha a izquierda, por ejemplo: 121, 1331 o 4554. El programa invierte el número y luego lo compara con el original.

Código Explicación sencilla
x = int(input("Ingresar número natural: ")) Solicita al usuario que ingrese un número natural y lo convierte en un número entero.
auxiliar = x Guarda una copia del número original para compararlo más adelante, ya que la variable x cambiará durante el proceso.
capicua = 0 Inicializa una variable donde se irá formando el número invertido.
while x > 0: Repite el proceso mientras el número tenga dígitos por recorrer.
ultimo = x % 10 Obtiene el último dígito del número utilizando el operador módulo (%).
capicua = (capicua * 10) + ultimo Va construyendo el número invertido. Primero desplaza los dígitos una posición multiplicando por 10 y luego agrega el último dígito obtenido.
x = x // 10 Elimina el último dígito del número usando división entera para continuar con el siguiente.
if capicua == auxiliar: Compara el número invertido con el número original.
print("Es capicúa") Se ejecuta si ambos números son iguales, indicando que el número es capicúa.
else: Se ejecuta cuando el número invertido es diferente del número original.
print("No es capicúa") Muestra el mensaje indicando que el número no es capicúa.

Código del ejercicio: Con ciclo for

x = input("Ingresar número natural: ")
lista = []
for digito in range(len(x)-1, -1, -1):
  lista.append(x[digito])
capicua = "".join(lista)
if x == capicua:
  print("Es capicúa")
else:
  print("No es capicúa")

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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
> --> 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.
// --> 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.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
len() --> devuelve el número de elementos de un objeto.
append() --> agrega un elemento al final de la lista.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

1. Solicitar el número

x = input("Ingresar número natural: ")

Se pide al usuario que ingrese un número natural. Se guarda como una cadena de texto para poder recorrer cada uno de sus dígitos fácilmente.

2. Crear una lista vacía

lista = []

Se crea una lista vacía donde se almacenarán los dígitos del número en orden inverso.

3. Recorrer el número desde el último dígito hasta el primero

for digito in range(len(x)-1, -1, -1):

El ciclo for comienza desde la última posición del número y avanza hacia la primera, recorriendo los dígitos al revés.

4. Guardar cada dígito invertido

lista.append(x[digito])

Cada dígito recorrido se agrega a la lista, formando poco a poco el número invertido.

5. Unir los dígitos invertidos

capicua = "".join(lista)

La función join() une todos los elementos de la lista para formar una sola cadena con el número invertido.

6. Comparar el número original con el invertido

if x == capicua:

Se verifica si el número original es igual al número invertido. Si ambos son iguales, significa que el número es capicúa.

7. Mostrar el resultado

print("Es capicúa") else: print("No es capicúa")

Si el número es igual a su versión invertida, se muestra el mensaje "Es capicúa". En caso contrario, se muestra "No es capicúa".

Código del ejercicio: Otra forma de hacer

x = input("Ingresar número natural: ")
if x == x[::-1]:
  print("Es capicúa")
else:
  print("No es capicúa")

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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
> --> 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.
// --> 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.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
len() --> devuelve el número de elementos de un objeto.
append() --> agrega un elemento al final de la lista.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código

x = input("Ingresar número natural: ")
if x == x[::-1]:
    print("Es capicúa")
else:
    print("No es capicúa")

Explicación paso a paso

Código Explicación sencilla
x = input("Ingresar número natural: ") Solicita al usuario que ingrese un número natural y lo guarda como una cadena de texto en la variable x.
if x == x[::-1]: Compara el número con su versión invertida. La expresión x[::-1] devuelve el texto al revés. Si ambos son iguales, significa que el número se lee igual de izquierda a derecha que de derecha a izquierda.
print("Es capicúa") Se ejecuta cuando el número y su versión invertida son iguales. Muestra el mensaje "Es capicúa".
else: Se ejecuta cuando la condición anterior no se cumple, es decir, cuando el número no es igual al invertido.
print("No es capicúa") Muestra el mensaje "No es capicúa", indicando que el número no se lee igual en ambos sentidos.
Resumen:

Este programa pide un número al usuario y lo guarda como texto. Luego utiliza x[::-1] para invertir el número y compara ambas cadenas. Si son iguales, el número es capicúa; de lo contrario, indica que no lo es. Es una solución muy corta y eficiente porque aprovecha el manejo de cadenas de Python.

Código del ejercicio: Otra forma de hacer

numero = int(input("Ingrese un número: "))
digito = 0
invertir = 0
aux = numero
while numero > 0:
    digito = numero % 10
    invertir = (invertir * 10) + digito
    numero = (numero - digito) / 10
if invertir == aux:
    print("Es capicúa")
else:
    print("No es capicúa")

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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
> --> 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.
// --> 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.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
len() --> devuelve el número de elementos de un objeto.
append() --> agrega un elemento al final de la lista.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código

numero = int(input("Ingrese un número: "))
digito = 0
invertir = 0
aux = numero

while numero > 0:
    digito = numero % 10
    invertir = (invertir * 10) + digito
    numero = (numero - digito) / 10

if invertir == aux:
    print("Es capicúa")
else:
    print("No es capicúa")

Explicación del código

Código Explicación
numero = int(input("Ingrese un número: ")) Solicita al usuario que ingrese un número entero y lo guarda en la variable numero.
digito = 0 Inicializa la variable donde se almacenará el último dígito del número en cada repetición.
invertir = 0 Inicializa la variable que almacenará el número invertido.
aux = numero Guarda una copia del número original para compararlo al final.
while numero > 0: Repite el proceso mientras el número sea mayor que cero.
digito = numero % 10 Obtiene el último dígito del número usando el operador módulo (%).
invertir = (invertir * 10) + digito Construye el número invertido agregando el último dígito obtenido.
numero = (numero - digito) / 10 Elimina el último dígito del número para continuar con el siguiente. En versiones actuales de Python es más recomendable usar numero = numero // 10 para mantener el valor como entero.
if invertir == aux: Compara el número invertido con el número original.
print("Es capicúa") Se ejecuta si ambos números son iguales, indicando que el número es capicúa.
else: Se ejecuta cuando el número invertido es diferente al original.
print("No es capicúa") Muestra que el número no es capicúa.

Resumen

El programa solicita un número, invierte sus dígitos utilizando un ciclo while y luego compara el número invertido con el original. Si ambos son iguales, significa que el número se lee igual de izquierda a derecha y de derecha a izquierda, por lo que es un número capicúa; de lo contrario, informa que no lo es.

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. ❤️