# Función para verificar si un número es primo
def es_primo(n):
"""
Verifica si un número es primo.
:param n: Número entero a verificar.
:return: True si el número es primo, False en caso contrario.
"""
# Si el número es menor o igual a 1, no es primo
if n <= 1:
return False
# Si el número es 2 o 3, es primo
if n <= 3:
return True
# Si el número es divisible por 2 o 3, no es primo
if n % 2 == 0 or n % 3 == 0:
return False
# Verificar divisibilidad desde 5 hasta la raíz cuadrada de n
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
# Función para contar cuántos números primos hay en una lista
def contar_primos(lista):
"""
Cuenta la cantidad de números primos en una lista.
:param lista: Lista de números enteros.
:return: Cantidad de números primos en la lista.
"""
cantidad = 0
for numero in lista:
if es_primo(numero):
cantidad += 1
return cantidad
# Función principal que integra las funciones es_primo y contar_primos
def main():
"""
Función principal del programa.
"""
# Ejemplo de lista de números
lista_numeros = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23]
# Muestra la lista de números
print(f"La lista de números es: {lista_numeros}")
# Cuenta cuántos números primos hay en la lista
cantidad_primos = contar_primos(lista_numeros)
# Muestra el total de números primos encontrados
print(f"Cantidad de números primos en la lista: {cantidad_primos}")
# Muestra cuáles números son primos y cuáles no
for numero in lista_numeros:
if es_primo(numero):
print(f"{numero} es primo")
else:
print(f"{numero} no es primo")
# Ejecuta la función main para correr el código
if __name__ == "__main__":
main()