Python - Ejercicio; definir función para identificar números primos

   
Vista:

Ejercicio; definir función para identificar números primos

Publicado por C (17 intervenciones) el 29/09/2014 15:21:39
Buenas a todos. Tengo que hacer el siguiente ejercicio:
-Escribir una función que tome un parámetro del tipo entero y devuelva el valor True si se la llama con un primo o False en caso contrario.

Yo hice esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def numeroPrimo(n1):
    i=1
    divisores=0
    primo=True
    while(i<=n1):
        if(n1%i==0):
            i=i+1
            divisores=divisores+1
        else:
            i=i+1
    if(divisores==2):
        primo==True
        return(primo)
    else:
        return(primo==False)


Si lo corro así como está, me funciona bien. Ahora, cuando había definido la variable "primo" como False al inciar la función, nunca me la cambiaba a True, a pesar de que la probaba con números primos. Lo miré varias veces pero no puedo darme cuenta del error.
Gracias por la ayuda :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de xve

Ejercicio; definir función para identificar números primos

Publicado por xve (1230 intervenciones) el 29/09/2014 18:03:30
Hola, creo que tu código falla... si por ejemplo enviar el valor 265...

prueba este código... creo que te funcionara mejor, y es muy simple:
1
2
3
4
5
6
7
def numeroPrimo(n1):
	if(n1%2==0):
		return False
	else:
		return True
 
print numeroPrimo(265)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ejercicio; definir función para identificar números primos

Publicado por C (17 intervenciones) el 29/09/2014 22:38:55
Ahí me di cuenta que hay que devolver sólo True o False. Muchas gracias :)
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
Imágen de perfil de Moebius

Ejercicio; definir función para identificar números primos

Publicado por Moebius (5 intervenciones) el 30/09/2014 10:27:09
Creo que el código que usted plantea también falla... si le entras por ejemplo el número 15 retorna que el número es primo y eso es falso

Este algoritmo comprueba realmente si el número es o no primo... obviamente se podría optimizar, pero funciona.


proo

Y sólo sirve para números naturales...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Ejercicio; definir función para identificar números primos

Publicado por xve (1230 intervenciones) el 30/09/2014 12:33:36
Tienes toda la razón Moebius... el código que he colocado lo único que hace es revisar que sea par o impar, no que sea un numero primo.

Pido mil perdones, el código que puse es erroneo!!!
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
Imágen de perfil de Moebius

Ejercicio; definir función para identificar números primos

Publicado por Moebius (5 intervenciones) el 01/10/2014 00:19:12
xve, no hay problema... para eso estamos acá, para ayudarnos...
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