Tema 06: Programación de funciones (Enunciados)

Nota: Estos ejercicios son optativos para hacer al final de la unidad y están pensados para apoyar tu aprendizaje.

1) Realiza una función llamada area_rectangulo() que devuelva el área del rectangulo a partir de una base y una altura. Calcula el área de un rectángulo de 15 de base y 10 de altura.

Nota: El área de un rectángulo se obtiene al multiplicar la base por la altura.


In [1]:
# Completa el ejercicio aquí
def area_rectangulo(base, altura):
    return base * altura

area_rectangulo(15, 10)


Out[1]:
150

2) Realiza una función llamada area_circulo() que devuelva el área de un círculo a partir de un radio. Calcula el área de un círculo de 5 de radio:

Nota: El área de un círculo se obtiene al elevar el radio a dos y multiplicando el resultado por el número pi. Puedes utilizar el valor 3.14159 como pi o importarlo del módulo math:

import math
print(math.pi)
> 3.1415...

In [2]:
# Completa el ejercicio aquí
from math import pi

def area_circulo(radio):
    return pi * radio**2

area_circulo(5)


Out[2]:
78.53981633974483

3) Realiza una función llamada relacion() que a partir de dos números cumpla lo siguiente:

  • Si el primer número es mayor que el segundo, debe devolver 1.
  • Si el primer número es menor que el segundo, debe devolver -1.
  • Si ambos números son iguales, debe devolver un 0.

Comprueba la relación entre los números: '5 y 10', '10 y 5' y '5 y 5'


In [5]:
# Completa el ejercicio aquí
def relacion(num1, num2):
    if num1 > num2:
        return 1
    elif num1 < num2:
        return -1
    return 0

print(relacion(5, 10), relacion(10, 5), relacion(5, 5))


-1 1 0

4) Realiza una función llamada intermedio() que a partir de dos números, devuelva su punto intermedio:

Nota: El número intermedio de dos números corresponde a la suma de los dos números dividida entre 2

Comprueba el punto intermedio entre -12 y 24


In [6]:
# Completa el ejercicio aquí
def intermedio(num1, num2):
    return (num1 + num2) / 2

intermedio(-12, 24)


Out[6]:
6.0

5) Realiza una función llamada recortar() que reciba tres parámetros. El primero es el número a recortar, el segundo es el límite inferior y el tercero el límite superior. La función tendrá que cumplir lo siguiente:

  • Devolver el límite inferior si el número es menor que éste
  • Devolver el límite superior si el número es mayor que éste.
  • Devolver el número sin cambios si no se supera ningún límite.

Comprueba el resultado de recortar 15 entre los límites 0 y 10


In [9]:
# Completa el ejercicio aquí
def recortar(num, lim_inf, lim_sup):
    return max(min(num, lim_sup), lim_inf)

recortar(-2, 0, 10)


Out[9]:
0

6) Realiza una función separar() que tome una lista de números enteros y devuelva dos listas ordenadas. La primera con los números pares, y la segunda con los números impares:

Por ejemplo:

pares, impares = separar([6,5,2,1,7])
print(pares)   # valdría [2, 6]
print(impares)  # valdría [1, 5, 7]

Nota: Para ordenar una lista automáticamente puedes usar el método .sort().


In [13]:
numeros = [-12, 84, 13, 20, -33, 101, 9]

# Completa el ejercicio aquí
def separar(*args):
    lista = sorted(args)
    pares = []
    impares = []
    for arg in lista:
        if arg % 2 == 0:
            pares.append(arg)
        else:
            impares.append(arg)
        
    return pares, impares

pares, impares = separar(*numeros)
print(pares)   # valdría [2, 6]
print(impares)  # valdría [1, 5, 7]


[-12, 20, 84]
[-33, 9, 13, 101]

In [ ]: