Les traigo un script muy simple para obtener los números primos hasta cierto límite Python.
Simplemente guardan el script en un archivo llamado ejemplo.py y desde la consola de windows o linux, desde el directorio donde hayan guardado el archivo corren el comando "python ejemplo.py"
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def isprime(n):
'''chequear si un entero es primo'''
# chequear que la entrada sea un entero positivo
n = abs(int(n))
# 0 y 1 no son primos
if n < 2:
return False
# 2 es el unico primo par
if n == 2:
return True
# El resto de pares no son primos
if not n & 1:
return False
#El rango comienza en 3 y solo necesita subir hasta la raiz cuadrada de n
# para todos los impares
for x in range(3, int(n**0.5)+1, 2):
if n % x == 0:
return False
return True
#Declaramos la lista para guardar el resultado
primos = []
try:
limit = int(raw_input('Ingrese un número: '))
except ValueError:
print "Oops! No es un número valido.."
#Corremos un loop para guardar los resultados en primos[]
i = 1
if limit > 0:
while i <= limit:
check = isprime(i)
if check == True:
primos.append(i)
elif check == False:
pass
i = i+1
#Obtenemos el primos mas grande
mayor = primos[len(primos)-1]
print 'Se encontraron %d numeros primos' % (len(primos))
print 'El mas alto es %d y contiene %d digitos' %(mayor,len(str(mayor)))
print_all = raw_input('Imprimir resultados (s/n)')
if print_all == str('s'):
i = 1
for x in primos:
print i,'->',x
i=i+1
elif print_all == str('n'):
pass
else:
pass
[/code]
Los resultados son algo así:
[email protected]:/home/sms# python primos.py
Ingrese un número: 13
Se encontraron 5 numeros primos
El mas alto es 13 y contiene 2 digitos
Imprimir resultados (s/n)s
1 -> 2
2 -> 3
3 -> 5
4 -> 7
5 -> 11
Si quieren ejecutar el código bajen el único archivo del siguiente repositorio: https://github.com/codigoTaringa/primos ya que Taringa modifica las identaciones al postear el código.

Simplemente guardan el script en un archivo llamado ejemplo.py y desde la consola de windows o linux, desde el directorio donde hayan guardado el archivo corren el comando "python ejemplo.py"
[color=#000000][code][/color]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def isprime(n):
'''chequear si un entero es primo'''
# chequear que la entrada sea un entero positivo
n = abs(int(n))
# 0 y 1 no son primos
if n < 2:
return False
# 2 es el unico primo par
if n == 2:
return True
# El resto de pares no son primos
if not n & 1:
return False
#El rango comienza en 3 y solo necesita subir hasta la raiz cuadrada de n
# para todos los impares
for x in range(3, int(n**0.5)+1, 2):
if n % x == 0:
return False
return True
#Declaramos la lista para guardar el resultado
primos = []
try:
limit = int(raw_input('Ingrese un número: '))
except ValueError:
print "Oops! No es un número valido.."
#Corremos un loop para guardar los resultados en primos[]
i = 1
if limit > 0:
while i <= limit:
check = isprime(i)
if check == True:
primos.append(i)
elif check == False:
pass
i = i+1
#Obtenemos el primos mas grande
mayor = primos[len(primos)-1]
print 'Se encontraron %d numeros primos' % (len(primos))
print 'El mas alto es %d y contiene %d digitos' %(mayor,len(str(mayor)))
print_all = raw_input('Imprimir resultados (s/n)')
if print_all == str('s'):
i = 1
for x in primos:
print i,'->',x
i=i+1
elif print_all == str('n'):
pass
else:
pass
[/code]
Los resultados son algo así:
[email protected]:/home/sms# python primos.py
Ingrese un número: 13
Se encontraron 5 numeros primos
El mas alto es 13 y contiene 2 digitos
Imprimir resultados (s/n)s
1 -> 2
2 -> 3
3 -> 5
4 -> 7
5 -> 11
Si quieren ejecutar el código bajen el único archivo del siguiente repositorio: https://github.com/codigoTaringa/primos ya que Taringa modifica las identaciones al postear el código.