Función Ordenar Números Enteros

Enigma CR

Autor: Edwin Ortiz Ampie

Fecha: 19 de Octubre del 2022

 


#Numero menor

def menor(num):

    if num<10:

        return num

    else:

        if (num%10) < menor(num//10):

            return num%10

        else:

            return menor(num//10)

        

def mayor(num):

    if num<10:

        return num

    else:

        if (num%10) > mayor(num//10):

            return num%10

        else:

            return mayor(num//10)


def ordenarNum(num):

    if isinstance(num, int) and num>0:

        if num<10:

            return num

        else:

            return ordenarAux(num, 0, 0)


def ordenarAux(num, pot, result):

    if num==0:

        return result

    else:

        dig = mayor(num)

        num = modificar(num, dig, 0, 0)

        result += dig * 10**pot

        return ordenarAux(num, pot+1, result)


def modificar(num, dig, result, pot):

    if num==0:

        return result

    else:

        if num%10 == dig:

            return modificar(num//10, dig, result, pot)

        else:

            result += (num%10) * 10**pot

            return modificar(num//10, dig, result, pot+1)

        


Comentarios

Entradas más populares de este blog

Python Tkinter (interfaz grafica de usuario)

Juego Numero Enigma