Ejercicio 2

Escribir una función que tome una lista de números enteros desordenados y devuelva dos listas ordenadas. La primera con los números pares y la segunda con los números impares.

Solución


In [1]:
def pares_impares(lista):
    '''Función que recibe una lista de números enteros y devuelve dos listas ordenadas con los números impares y pares de la lista dada.

    Parámetros:
        - lista: Es una lista de números enteros.
    Devuelve: Dos listas ordenadas con los números impares y pares de la lista dada.
    '''

    # Definimos dos listas vacías para guardar los números pares e impares.
    pares = []
    impares = []
    # Bucle para recorrer la lista de números.
    for i in lista:
        # Condicional para ver si el número es par o impar.
        if i%2 == 0:
            # Si el resto de la división entera por 2 es 0, el número es par y se añade a la lista de pares. 
            pares.append(i)
        else:
            # Si el resto de la división entera por 2 no es 0, el número es impar y se añade a la lista de impares.
            impares.append(i)
    # Ordenamos las listas.
    pares.sort()
    impares.sort()
    # Devolvemos las listas de pares e impares.
    return pares, impares

# Ejemplo
lista = [3, 8, 2, 7, 5, 4, 6, 1, 9]
pares, impares = pares_impares(lista)
print('Pares: ', pares)
print('Impares: ', impares)


Pares:  [2, 4, 6, 8]
Impares:  [1, 3, 5, 7, 9]

Solución 2


In [2]:
def pares_impares(lista):
    '''Función que recibe una lista de números enteros y devuelve dos listas ordenadas con los números impares y pares de la lista dada.

    Parámetros:
        - lista: Es una lista de números enteros.
    Devuelve: Dos listas ordenadas con los números impares y pares de la lista dada.
    '''

    # Comprensión de listas para obtener la lista de números pares.
    pares = [n for n in lista if n % 2 == 0]
    # Comprensión de listas para obtener la lista de números impares.
    impares = [n for n in lista if n % 2 != 0]
    # Ordenamos las listas.
    pares.sort()
    impares.sort()
    # Devolvemos las listas de pares e impares.
    return pares, impares

# Ejemplo
lista = [3, 8, 2, 7, 5, 4, 6, 1, 9]
pares, impares = pares_impares(lista)
print('Pares: ', pares)
print('Impares: ', impares)


Pares:  [2, 4, 6, 8]
Impares:  [1, 3, 5, 7, 9]