necesito ayuda con este ejercicio pero estoy super perdida
Cree un programa en Python 3.4 que permita calcular el cuadrado de los números primos que se encuentran en un rango definido por el usuario mediante el ingreso de dos números de manera independiente.
Nota: recuerde que un número es primo si y solo si es divisible únicamente por sí mismo y por 1.
El programa debe mostrar como resultado exclusivamente la lista de los cuadrados de los números primos que se encuentran en el rango definido por el usuario, no debe contener letras ni enunciados que lo acompañen.
muchas gracias
ahhh el codigo lo llevo asi
####
def prim(min, max):
lstprim=[]
for num in range (min, max+1, 1):
ndiv=0
for k in range (1, num+1, 1):
if num % k ==0:
ndiv = ndiv+1
if ndiv>=3:
break
if ndiv ==2:
lstprim.append(num)
return lstprim
linf = int(input())
lsup = int(input())
print(prim(linf,lsup))
y=prim(linf,lsup)
print(y)
###
pero ahora no se como tomar esa lista y elevar al cuadrado cada elemento
nunca entendí porque cuando enseñan python ponen estos enunciados tan malos!
menos mal que soy autodidacta!
y ¿por qué no usan variables descriptivas para el que lee sea más facil saber que quieren hacer?
lo haría así:
import math
def isPrimo(num):
for i in range(2,int(math.sqrt(num)+1)):
if (num % i == 0):
return False
return True
def main():
inicio=int(input(" "))
final=int(input(" "))+1
lista=[]
for i in range(inicio,final):
if isPrimo(i):
i=i**2
lista.append(i)
print(lista)
main()
nunca dijiste si podés usar módulos, lo hago por velocidad y reducción de código
if ndiv == 2:
lstprim.append(num**2)
def prim(min, max):
lstprim=[]
for num in range (min, max+1, 1):
ndiv=0
for k in range (1, num+1, 1):
if num % k ==0:
ndiv = ndiv+1
if ndiv>=3:
break
if ndiv ==2:
lstprim.append(num**2)
return lstprim
n1 = int(input())
n2 = int(input())
n3=0
if(n1>n2):
print(prim(n2,n1))
else:
print(prim(n1,n2))
#####
lo entregue asi
ya que si el primer numero era mayor que el segundo saldria vacio y pues salia error y le coloque esa condicion y salio bn
muchas gracias a todos :]