Código de Python - Determinar si un número es primo o no

Imágen de perfil
Val: 505
Plata
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Determinar si un número es primo o nográfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(8)
Publicado el 29 de Junio del 2013 por Xavi
77.784 visualizaciones desde el 29 de Junio del 2013. Una media de 259 por semana
Simple función que recibe un número entero entrado por el usuario y determina si ese valor es primo o no.

Versión 1
estrellaestrellaestrellaestrellaestrella(8)

Publicado el 29 de Junio del 2013gráfica de visualizaciones de la versión: Versión 1
77.788 visualizaciones desde el 29 de Junio del 2013. Una media de 259 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
def es_primo(numero):
    """
    Funcion que determina si un numero es primo
    Tiene que recibir el numero entero
    """
    # Para que un numero sea primo, unicamente tiene que dividirse dos veces:
    #   1 - divisible entre 1
    #   2 - divisible entre el mismo
    # En este bucle, empezamos por el dos hasta un numero anterior a el, por lo
    # que si en el bucle, alguna vez se divide el numero, quiere decir que no es
    # primo
    for i in range(2,numero):
        if (numero%i)==0:
            # es divisible
            return False
    return True
 
while True:
    try:
        numero = int(raw_input("inserta un numero (0) salir >> "))
        if numero==0:
            break
        if es_primo(numero):
            print "\nEl numero %s es primo" % numero
        else:
            print "\nEl numero %s NO es primo" % numero
    except:
        print "\nEl numero tiene que ser entero"



Comentarios sobre la versión: Versión 1 (8)

Imágen de perfil
14 de Agosto del 2015
estrellaestrellaestrellaestrellaestrella
Una pequeña corrección: realmente no es necesario que el bucle recorra hasta el número anterior. Es suficiente con que recorra hasta la mitad del número que analizamos. A partir de ahí, ya no habrá ningún divisor posible, puesto que el cociente sería menor de dos.
Responder
camava
15 de Noviembre del 2017
estrellaestrellaestrellaestrellaestrella
hola neogurb...en realidad solo debe hacer el bucle hasta el cociente(la parte entera del cociente) entre el numero a determinar si es primo y el primo conocido mas grande que sea inferior al numero a consultar...lo he probado mucho,pues apenas empiezo con la programación...saludos
Responder
Gregorio Samsa
10 de Mayo del 2019
estrellaestrellaestrellaestrellaestrella
Bastaría con que se probara hasta el entero más cercano a la raíz cuadrada del número en cuestión..
Responder
Juanesga
10 de Febrero del 2016
estrellaestrellaestrellaestrellaestrella
En realidad la función se puede realizar de la siguiente manera:
def es_primo(x):
if x<2:
return False
elif x==2:
return True
else:
for n in range(2,x):
if x%n == 0:
return False
elif(n == x-1):
return True
Responder
ramon
13 de Marzo del 2018
estrellaestrellaestrellaestrellaestrella
muy bien, podria hacer lo mismo con widgets
Responder
Jorge Ramón F.
02 de Marzo del 2019
estrellaestrellaestrellaestrellaestrella
#!/usr/bin/python
# -*- coding: utf-8 -*-

def es_primo(numero):
"""
Funcion que determina si un numero es primo
Tiene que recibir el numero entero
"""
# Para que un numero sea primo, unicamente tiene que dividirse dos veces:
# 1 - divisible entre 1
# 2 - divisible entre el mismo
# En este bucle, empezamos por el dos hasta un numero anterior a el, por lo
# que si en el bucle, alguna vez se divide el numero, quiere decir que no es
# primo
for i in range(2,numero):
if (numero%i)==0:
# es divisible
return False
return True

while True:
try:
numero = int(input("inserta un numero (0) salir >> "))
if numero==0:
break
if es_primo(numero):
print ("\n""El numero", numero, "es primo") % numero
else:
print ("\n""El numero", numero, "NO es primo") % numero
except:
print ("\n""El numero tiene que ser entero")

Así quedaría para Python 3...
Responder
Sabina Pia
13 de Abril del 2019
estrellaestrellaestrellaestrellaestrella
n=int(input("Ingrese:"))
if n==2 and n==3 and n==5 and n==7:
print("primo")
elif n>7 and n%2!=0 and n%3!=0 and n%5!=0 and n%7!=0:
print("primo")
else:
print("no es primo")
Responder
Ricardo
26 de Abril del 2019
estrellaestrellaestrellaestrellaestrella
Gracias por tu aportación, ahora podré obtener una gran calificación
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2413
Revisar política de publicidad