tomas@home:~$

Ejercicio 9

  • Enunciado

    Imprime todos los numeros primos desde 2 hasta un numero dado

  • Codigo
import time

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKCYAN = '\033[96m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'

print("Programa que calcula todos los numeros primos desde 2 hasta el numero dado")
print("Escribe un numero")
k = eval(input(bcolors.OKBLUE))
contador = 0
print(bcolors.ENDC)


def esprimo(k):
    if k> 1:
        for n in range(2, k):
            if (k % n) == 0:
                return False
        return True
    else:
        return False

for n in range(2, k):
        if esprimo(n) == True:
            print(bcolors.HEADER, n, bcolors.ENDC, "es primo", bcolors.WARNING,"(True)", bcolors.ENDC)
            contador = contador + 1
            time.sleep(0.1)
        else:
            time.sleep(0)

print(bcolors.BOLD,"en total hay",bcolors.ENDC,bcolors.OKGREEN,contador,bcolors.ENDC,bcolors.BOLD,"numeros que son primos desde el 2 hasta",bcolors.OKCYAN,k,bcolors.ENDC)
  • Codigo con modulo sympy
import time

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKCYAN = '\033[96m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'
    
print(bcolors.WARNING,"Si el programa no puede ejeacutarse prueba a instalar el modulo sympy (pip install sympy)", bcolors.ENDC)
time.sleep(2) # Sleep for 3 seconds
from sympy import *



print("Programa que calcula todos los numeros primos desde 2 hasta el numero dado")
print("Escribe un numero")
n = eval(input(bcolors.OKBLUE))
numero = n-1
contador = 0
print(bcolors.ENDC)


for n in range(2, numero):
    if isprime(n) == True:
        print(bcolors.HEADER, n, bcolors.ENDC, "es primo", bcolors.WARNING,"(True)", bcolors.ENDC)
        time.sleep(0.2) # Sleep for 0.2 seconds (for slow computers)
    else:
        contador = contador + 1
print(bcolors.BOLD,"en total hay",bcolors.ENDC,bcolors.OKGREEN,contador,bcolors.ENDC,bcolors.BOLD,"numeros que no son primos desde el 2 hasta",bcolors.OKCYAN,numero,bcolors.ENDC)