martes, 14 de julio de 2026

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.

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