Código del ejercicio:
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