Inicio
Blog

10 Ejercicios resueltos de Python Funciones

Aprende con estos 10 Ejercicios resueltos de Python Funciones

Python es uno de los lenguajes de programación más populares y versátiles en el mundo de la informática. Con su sintaxis clara y legible, se ha convertido en una excelente opción tanto para principiantes como para programadores experimentados. Las funciones son una parte fundamental de Python, ya que nos permiten reutilizar código, modularizar programas y hacerlos más eficientes.

En este artículo, presentaré 10 ejercicios resueltos que cubren diferentes aspectos de las funciones en Python. Cada ejercicio se enfoca en un concepto específico y proporciona una solución paso a paso. A medida que avanzamos, no solo resolveremos los ejercicios, sino que también analizaremos el razonamiento detrás de cada solución.

Ejercicio 1: Función de suma

En este primer ejercicio, nos enfrentaremos a la tarea de escribir una función que tome dos números como argumentos y devuelva su suma. Veamos el código a continuación:

def suma(a, b):
    """Esta función devuelve la suma de dos números."""
    return a + b

Para usar esta función, simplemente podemos llamarla pasando dos números como argumentos. Por ejemplo:

resultado = suma(3, 5)
print(resultado)  # Output: 8

Ejercicio 2: Función de factorial

El segundo ejercicio implica escribir una función que calcule el factorial de un número dado. Aquí está la solución:

def factorial(n):
    """Esta función calcula el factorial de un número."""
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

Podemos probar esta función llamándola con diferentes valores. Por ejemplo:

resultado = factorial(5)
print(resultado)  # Output: 120

Ejercicio 3: Función de palíndromo

En el tercer ejercicio, nos enfocaremos en determinar si una palabra es un palíndromo. Una palabra es un palíndromo si se lee igual de izquierda a derecha y viceversa. Aquí está la solución:

def es_palindromo(palabra):
    """Esta función verifica si una palabra es un palíndromo."""
    palabra = palabra.lower()
    return palabra == palabra[::-1]

Veamos un ejemplo de cómo usar esta función:

resultado = es_palindromo("reconocer")
print(resultado)  # Output: True

Ejercicio 4: Función de conversión de temperatura

En el cuarto ejercicio, nos centraremos en una tarea común: la conversión de temperaturas. Escribiremos una función que convierta una temperatura dada en grados Celsius a grados Fahrenheit. Aquí está la solución:

def celsius_a_fahrenheit(celsius):
    """Esta función convierte una temperatura en grados Celsius a grados Fahrenheit."""
    return (celsius * 9/5) + 32

Podemos probar esta función de la siguiente manera:

resultado = celsius_a_fahrenheit(25)
print(resultado)  # Output: 77.0

Ejercicio 5: Función de conteo de vocales

El quinto ejercicio consiste en escribir una función que cuente el número de vocales en una palabra. Veamos la solución a continuación:

def contar_vocales(palabra):
    """Esta función cuenta el número de vocales en una palabra."""
    num_vocales = 0
    for letra in palabra:
        if letra.lower() in "aeiou":
            num_vocales += 1
    return num_vocales

Probemos esta función con una palabra:

resultado = contar_vocales("Python")
print(resultado)  # Output: 2

Ejercicio 6: Función de generación de números primos

En el sexto ejercicio, nos enfrentaremos a la tarea desafiante de generar una lista de números primos hasta un número dado. Utilizaremos la famosa «Criba de Eratóstenes» para resolver este problema. Aquí está la solución:

def generar_primos(n):
    """Esta función genera una lista de números primos hasta el número n dado."""
    primos = [True] * (n+1)
    primos[0] = primos[1] = False
    p = 2
    while p**2 <= n:
        if primos[p]:
            for i in range(p**2, n+1, p):
                primos[i] = False
        p += 1
    numeros_primos = []
    for i in range(2, n+1):
        if primos[i]:
            numeros_primos.append(i)
    return numeros_primos

Veamos un ejemplo de cómo utilizar esta función:

resultado = generar_primos(20)
print(resultado)  # Output: [2, 3, 5, 7, 11, 13, 17, 19]

Ejercicio 7: Función de ordenamiento de palabras

En el séptimo ejercicio, abordaremos la tarea de ordenar una lista de palabras en orden alfabético. Utilizaremos el método de ordenamiento sorted() de Python para resolver este problema. Aquí está la solución:

def ordenar_palabras(lista_palabras):
    """Esta función ordena una lista de palabras en orden alfabético."""
    return sorted(lista_palabras)

Veamos un ejemplo de cómo utilizar esta función:

resultado = ordenar_palabras(["Python", "es", "genial"])
print(resultado)  # Output: ['Python', 'es', 'genial']

Ejercicio 8: Función de conteo de caracteres

El octavo ejercicio consiste en escribir una función que cuente el número de veces que aparece cada carácter en una cadena. Aquí está la solución:

def contar_caracteres(cadena):
    """Esta función cuenta el número de veces que aparece cada carácter en una cadena."""
    contador = {}
    for caracter in cadena:
        if caracter in contador:
            contador[caracter] += 1
        else:
            contador[caracter] = 1
    return contador

Probemos esta función con una cadena:

resultado = contar_caracteres("python")
print(resultado)  # Output: {'p': 1, 'y': 1, 't': 1, 'h': 1, 'o': 1, 'n': 1}

Ejercicio 9: Función de reversión de cadena

En el noveno ejercicio, nos centraremos en escribir una función que invierta una cadena dada. Utilizaremos el slicing de cadenas en Python para resolver este problema. Aquí está la solución:

def invertir_cadena(cadena):
    """Esta función invierte una cadena dada."""
    return cadena[::-1]

Veamos un ejemplo de cómo utilizar esta función:

resultado = invertir_cadena("Python")
print(resultado)  # Output: 'nohtyP'

Ejercicio 10: Función de suma recursiva

En el décimo y último ejercicio, nos enfrentaremos a la tarea de escribir una función recursiva que calcule la suma de todos los números enteros hasta un número dado. Aquí está la solución:

def suma_recursiva(n):
    """Esta función calcula la suma de todos los números enteros hasta n de manera recursiva."""
    if n == 0:
        return 0
    else:
        return n + suma_recursiva(n-1)

Probemos esta función con un número:

resultado = suma_recursiva(5)
print(resultado)  # Output: 15

Conclusión

En este artículo, hemos explorado 10 ejercicios resueltos de Python que se centran en el concepto de funciones. A través de estos ejercicios, hemos aprendido cómo crear y utilizar funciones en Python para resolver una variedad de problemas, desde operaciones matemáticas simples hasta tareas más complejas como la generación de números primos.

Recuerda practicar estos ejercicios y experimentar con diferentes variaciones para fortalecer tus habilidades de programación en Python. Practica más en nuestra sección de EJERCICIOS DE PYTHON ¡A medida que te familiarices con las funciones, podrás aprovechar al máximo este poderoso lenguaje de programación!