Python - AYUDA CON PYTHON

 
Vista:

AYUDA CON PYTHON

Publicado por LdyB (1 intervención) el 30/11/2022 19:14:28
Hola estoy realizando unos ejercicios y en uno de ellos tengo un problema:
Como se puede observar hay que introducir un numero por consola y debe decirte si es primo o no (parte del código que no me funciona) en caso de que no sea un entero positivo te van saliendo los errores....
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")
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 Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

AYUDA CON PYTHON

Publicado por Francisco Javier (313 intervenciones) el 30/11/2022 20:10:42
He puesto sólo un try para numeros decimales, he puesto el int( en el input para que no nos de un string y trabajar mejor con él y luego con el while le pido número enteros positivos pidiendomelo de nuevo en caso de introducir números negativos, Puedes ponerle más excepciones si quieres y luego a la hors de itererar los número con la raiz optimizamos mejor lo ví a un compañero y así nos quitamos los multiplos de números repetidos.
salu2

1
2
3
4
5
6
7
8
9
10
11
12
try:
    while (data := int(input("Introduce un numero entero positivo: "))) <=0:  pass
    def es_primo(numero):
        if 1<numero<=3: return True
        if numero%2==0 or numero<2: return False
        for i in range(3, int(numero**0.5)+1, 2):
            if numero%i==0:
                return False
        return True
    print(es_primo(data))
except ValueError:
    print('Debes introducir un número no decimal')
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