ayuda con programacion python

Iniciado por vaness182, 28 Octubre 2015, 22:13 PM

0 Miembros y 1 Visitante están viendo este tema.

vaness182

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

tincopasan

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í:
Código (python) [Seleccionar]

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

Slava_TZD

Código (python) [Seleccionar]
        if ndiv == 2:
            lstprim.append(num**2)


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.

vaness182

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 :]