Dominando Python: Ejercicios Prácticos de Listas, Lógica Matemática y Cadenas

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en con un tamaño de 4,11 KB

Gestión de Listas y Menús Interactivos en Python

En este primer bloque de código, aprenderemos a inicializar listas, validar la entrada de datos mediante excepciones y gestionar un menú interactivo para procesar información numérica.

# Inicializar listas
lista_num = []
primos = []
suma_cifras = []

# Crear la lista (máximo 7 números)
while len(lista_num) < 7:
    try:
        num = int(input("Introduce un número entero (entre 0 y 49): "))
        if 0 <= num <= 49:
            lista_num.append(num)
        else:
            print("El número debe estar entre 0 y 49.")    
    except ValueError:
        print("Debes introducir un número válido.")

opcion = ""
while opcion != "4":
    print("\nMENU")
    print("1. Ver lista")
    print("2. Ver números primos")
    print("3. Ver números cuya suma de cifras > 7")
    print("4. Salir")
    
    opcion = input("Elige una opción: ")
    
    if opcion == "1":
        print("Lista:", lista_num)
    
    elif opcion == "2":
        primos = []
        for num in lista_num:
            if num > 1:
                es_primo = True
                for i in range(2, num):
                    if num % i == 0:
                        es_primo = False
                        break
                if es_primo:
                    primos.append(num)
        print("Números primos encontrados:", primos)
    
    elif opcion == "3":
        print("Números con suma de cifras > 7:")
        for num in lista_num:
            suma = 0
            for cifra in str(num):
                suma += int(cifra) 
            if suma > 7:
                print(f"{num} -> suma: {suma}")
    
    elif opcion == "4":
        print("Fin del programa")
    
    else:
        print("Opción incorrecta")

Comparación de Cadenas de Caracteres y Caracteres Comunes

A continuación, se presenta un algoritmo diseñado para comparar dos cadenas de caracteres, identificar los elementos únicos de cada una y determinar cuáles son los caracteres comunes (intersección) entre ambas.

# Inicializamos la variable para controlar la repetición del programa
respuesta = "S"

# Bucle que permite repetir el programa mientras el usuario quiera
while respuesta == "S":

    # Paso 1: Solicitar al usuario dos cadenas de caracteres
    cadena1 = input("Introduce la primera cadena de caracteres: ")
    cadena2 = input("Introduce la segunda cadena de caracteres: ")

    # Variables para guardar caracteres sin repetir
    cadena_distintos_1 = ""
    cadena_distintos_2 = ""

    # Variable para guardar los caracteres comunes
    cadena_iguales = ""

    # Contador de caracteres comunes
    contador = 0

    # Obtener caracteres únicos de la primera cadena
    for caracter in cadena1:
        if caracter not in cadena_distintos_1:
            cadena_distintos_1 += caracter

    # Obtener caracteres únicos de la segunda cadena
    for caracter in cadena2:
        if caracter not in cadena_distintos_2:
            cadena_distintos_2 += caracter

    # Obtener caracteres que están en ambas cadenas
    for caracter in cadena_distintos_1:
        if caracter in cadena_distintos_2:
            cadena_iguales += caracter
            contador += 1

    # Mostrar resultados
    print("\nResultados:")
    print(f"Caracteres iguales: {cadena_iguales}")
    print(f"Número de caracteres comunes: {contador}")

    # Preguntar al usuario si quiere repetir el programa
    respuesta = input("\n¿Quieres volver a ejecutar (S/N)? ").upper()

Conceptos Clave Aplicados

  • Bucle While: Utilizado para el control de flujo y repetición de menús.
  • Manejo de Excepciones: Implementación de try-except para evitar errores de ejecución al ingresar datos.
  • Iteración de Cadenas: Uso de bucles for para recorrer y analizar cada carácter de un texto.
  • Lógica Booleana: Determinación de números primos mediante banderas (es_primo).

Entradas relacionadas: