Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: limblimb en 13 Enero 2012, 17:07 pm



Título: Python Listas ayuda
Publicado por: limblimb en 13 Enero 2012, 17:07 pm
Buenas, no me sale un ejercicio de Python haber si alguien me puede ayudar a hacerlo. Llevo un rato intentandolo y no consigo que me funcione. Gracias.
Escribe una función que tome como argumento una lista l de naturales y devuelva la lista formada por aquellos elementos de l que sean primos.



Título: Re: Python Listas ayuda
Publicado por: [Case] en 13 Enero 2012, 18:43 pm
Que has intentando?

Python tiene un mecanismo que te puede ayudar mucho, que son las listas por comprensión. Ponte a investigar un poco, si no te sale, nos informas.


Título: Re: Python Listas ayuda
Publicado por: limblimb en 13 Enero 2012, 19:11 pm
def listaesPrimo(num):
   num=[1,2,3,4,5,6,7,8,9]
   if num<2:return False
   for i in range(2,9):
      if (num%i==0):
         return False
      return True


Título: Re: Python Listas ayuda
Publicado por: limblimb en 13 Enero 2012, 19:24 pm
Haber si es algo parecido a esto

def listaesPrimo(num):
   num=[1,2,3,4,5,6,7,8,9]
   if primos:return [2,3,5,7]
   for i in range(2,9):
      if (num%i==0):
         return primos


Título: Re: Python Listas ayuda
Publicado por: fallout20xx en 19 Enero 2012, 10:58 am
Haber si es algo parecido a esto

def listaesPrimo(num):
   num=[1,2,3,4,5,6,7,8,9]
   if primos:return [2,3,5,7]
   for i in range(2,9):
      if (num%i==0):
         return primos

emm a ver... te pongo el codigo...
Código:
def calculaPrimo (x):
    i=0
    c=0
    while i<(x-1):
        i=i+1
        r=x%i
        if r==0:
            c=c+1
    if c>=2:
        print "Compuesto: ", "Tiene", c+1 ,"divisores"
    else:
        if x==1:
            print "Ni Primo Ni Compuesto"
        else:
            print"Primo: ", "Tiene", 2 , "divisores"
           
Con esto puedes hacerte una idea de como hacerlo mas ajustado a lo que tu necesitas, o simplemente a continuacion del codigo anterio pones esto:
Código:
num = [1,2,3,4,5, 23, 543, 231]
for n in num:
    calculaPrimo(n)

Disfruta, y googlea mas!!