jueves, 6 de agosto de 2026

Pedir un número y luego ordenar de menor a mayor los dígitos en Python

Código del ejercicio:

n = int(input('Ingresar número: '))
ac = 0
c = 0
r = 0
aux = 0
while c <= 9:
    aux = n
    while aux > 0:
        r = aux % 10
        if r == c:
            ac = (ac * 10) + r
        aux = (aux - r) / 10
    c = c + 1
print(int(ac))

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.
<= --> 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 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 igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Este programa pide un número y luego analiza sus dígitos para mostrarlos ordenados desde el 0 hasta el 9.

Código utilizado

n = int(input('Ingresar número: '))
ac = 0
c = 0
r = 0
aux = 0

while c <= 9:
    aux = n

    while aux > 0:
        r = aux % 10

        if r == c:
            ac = (ac * 10) + r

        aux = (aux - r) / 10

    c = c + 1

print(int(ac))

Explicación de cada código

  • n = int(input('Ingresar número: '))
    Pide al usuario que ingrese un número y lo convierte a entero. El número se guarda en la variable n.
  • ac = 0
    Crea el acumulador ac, que se utilizará para construir el número con los dígitos ordenados.
  • c = 0
    Inicializa c en 0. Esta variable representa el dígito que el programa está buscando.
  • r = 0
    Crea la variable r, que almacenará cada dígito extraído del número.
  • aux = 0
    Crea una variable auxiliar que permitirá trabajar con una copia del número sin modificar el número original.
  • while c <= 9:
    Repite el proceso para cada dígito desde 0 hasta 9. De esta manera, los dígitos se agregan en orden ascendente.
  • aux = n
    Copia nuevamente el número original en aux. Así se pueden revisar todos sus dígitos.
  • while aux > 0:
    Repite el proceso mientras todavía queden dígitos por revisar en aux.
  • r = aux % 10
    Obtiene el último dígito de aux. El operador % obtiene el resto de una división.
  • if r == c:
    Comprueba si el dígito encontrado r es igual al dígito que se está buscando c.
  • ac = (ac * 10) + r
    Si el dígito coincide, lo agrega al final del número acumulado. Así se va construyendo el resultado ordenado.
  • aux = (aux - r) / 10
    Elimina el último dígito de aux para poder continuar revisando los demás dígitos.
  • c = c + 1
    Aumenta c en 1 para buscar el siguiente dígito. Por ejemplo: 0, 1, 2, 3... hasta 9.
  • print(int(ac))
    Finalmente, convierte ac a entero y muestra en pantalla los dígitos ordenados de menor a mayor.

Ejemplo

Si el usuario ingresa:

Ingresar número: 58321

El programa encuentra primero el 1, luego el 2, después el 3, el 5 y finalmente el 8.

El resultado será:

12358

En resumen

El programa revisa los dígitos del número desde 0 hasta 9. Cada vez que encuentra el dígito que está buscando, lo agrega al acumulador ac. Por eso, al final los dígitos aparecen ordenados de menor a mayor.

No hay comentarios.:

Publicar un comentario

Encontrar todas las posiciones de un carácter x de una cadena en Python

Código del ejercicio: s = input ( "Ingresar texto: " ) x = input ( "Ingresar carácter: ...

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