[ Foro de Python ]
Hola Tengo que realizar un programa en el que un usuario mete un número y este si es un numero entero, positivo devuelve si es primo o no.
En que caso de que lo que se meta no sea un entero positivo sale un aviso
El código que se me ocurrió, ignora la parte en la que calcula si es o no primo. Si alguien me puede decir porque....
CODIGO
lista=[]
while (True):
data=input("Introduce un numero entero positivo: ")
try:
numero=int(data)
if (numero>0):
def es_primo(numero):
if numero ==1:
return False
elif numero ==2:
return True
else:
for i in range(2,numero):
if numero %i==0:
return False
return True
lista.append(numero)
break
else:
print("ERROR:El numero no es positivo")
except:
try:
numero=float(data)
print("ERROR:El dato es un numero decimal")
except:
print("ERROR: El dato no es numero")
Estas definiendo una función que no llamas. O bien declara la función antes del cuerpo del programa y llámala desde este, o bien incluye el cuerpo (la lógica) de la función, otro si el "def" y sin el "return".
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)