[ Foro de Python ]

Ejercicio Python

30-Nov-2022 18:05
Invitado (LdyB)
1 Respuestas

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")


01-Dec-2022 01:47
Nacho Cabanes (+84)

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.)