Ejercicio 1: Fundamentos de Python - Lógica, Funciones y Manipulación de Strings

Este ejercicio tiene como objetivo introducir a los estudiantes en el uso de estructuras de datos, control de flujo y manipulación de strings en Python. A través de tres problemas fundamentales, se espera que los estudiantes desarrollen habilidades básicas en programación con Python.

Objetivos

  • Desarrollar funciones que verifiquen la pertenencia de un elemento en una lista sin utilizar el operador in.
  • Comparar listas y retornar la más larga, implementando diferentes enfoques.
  • Familiarizarse con el uso de bucles y comprensiones de listas en Python.

Tareas

1. Verificar Pertenencia en una Lista

Implemente una función que determine si un elemento está presente en una lista sin utilizar el operador in. Resuelva este problema utilizando dos enfoques diferentes: uno con un bucle for y otro con un bucle while.

Código Base

def pertenece_for(elemento, lista):
    # TODO: Implementar
    pass

def pertenece_while(elemento, lista):
    # TODO: Implementar
    pass

2. Comparar Listas y Retornar la Más Larga

Escriba una función que compare dos listas y devuelva la más larga. Si ambas listas tienen la misma longitud, la función debe devolver ambas listas. Además, implemente una versión de esta función utilizando list comprehension.

Código Base

def lista_mas_larga(lista1, lista2):
    # TODO: Implementar
    pass

def lista_mas_larga_comprehension(lista1, lista2):
    # TODO: Implementar
    pass

Pruebas

Ejemplos de Prueba para Verificar Pertenencia

# Prueba para pertenece_for
print(pertenece_for(3, [1, 2, 3, 4]))  # Esperado: True
print(pertenece_for(5, [1, 2, 3, 4]))  # Esperado: False

# Prueba para pertenece_while
print(pertenece_while(3, [1, 2, 3, 4]))  # Esperado: True
print(pertenece_while(5, [1, 2, 3, 4]))  # Esperado: False

Ejemplos de Prueba para Comparar Listas

# Prueba para lista_mas_larga
print(lista_mas_larga([1, 2, 3], [4, 5]))  # Esperado: [1, 2, 3]
print(lista_mas_larga([1, 2], [3, 4]))     # Esperado: ([1, 2], [3, 4])

# Prueba para lista_mas_larga_comprehension
print(lista_mas_larga_comprehension([1, 2, 3], [4, 5]))  # Esperado: [1, 2, 3]
print(lista_mas_larga_comprehension([1, 2], [3, 4]))     # Esperado: ([1, 2], [3, 4])

Este ejercicio está diseñado para ser de nivel básico y no requiere código base ejecutable. Los estudiantes deben completar las funciones indicadas y verificar su funcionamiento mediante las pruebas proporcionadas.