Python - Lista de primos

   
Vista:

Lista de primos

Publicado por Carol (5 intervenciones) el 02/02/2012 16:06:46
Me piden en un ejercicio que escriba una función en la que escriba una lista de números naturales y me devuelva aquellos que sean primos. Puse ésto:

1
2
3
4
5
6
def lista_de_primos(criba):
    lista = []
    for i in range(len(lista)):
        if esPrimo(i) ==  "Es primo":
            lista.append(i)
    print lista

Donde esPrimo es el nombre de una función anterior para decidir si un número es primo o no.
Con este código me da error, ya que yo doy una lista de varios números, y al sólo haber un argumento en la definición de la función (criba), da error.

¿Alguien podría ayudarme?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Lista de primos

Publicado por xve (1232 intervenciones) el 02/02/2012 17:05:48
Hola Carol, no se si entiendo bien, pero criba es una lista con los valores a revisar?? Si es así podría quedar así:
1
2
3
4
5
6
7
def lista_de_primos(criba):
    lista = []
    # 
    for i in criba:
        if esPrimo(i) ==  "Es primo":
            lista.append(i)
    print lista

lista no puede ponerla en el for, ya que no tiene valores, es una lista vacía, por eso he puesto la lista criba, sin range, ya que el mismo, conoce la longitud de la lista.

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lista de primos

Publicado por Carol (5 intervenciones) el 02/02/2012 19:44:06
He cambiado el código tal y como me has dicho y me sigue apareciendo el mismo mensaje de error. Con criba me refiero a una lista de número naturales al azar (1,34,3,9,78,5 por ejemplo) y que de todos esos números el programa me muestre los que sean primos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lista de primos

Publicado por Carol (5 intervenciones) el 02/02/2012 19:49:55
Vale, acabo de comprobarlo de nuevo y está perfectamente, lo he conseguido gracias a tu ayuda, muchísimas gracias de verdad :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar