Python - ERROR CODIGO PYTHON AYUDA!!

 
Vista:

ERROR CODIGO PYTHON AYUDA!!

Publicado por jarcilac (4 intervenciones) el 31/03/2016 22:36:25
Cree un programa en Python 3.4 que le solicite al usuario un número entero su programa debe verificar si el número ingresado es perfecto o no: en caso de ser perfecto debe mostrar 'perfecto' en caso contrario debe mostrar 'no perfecto'. Muestre exclusivamente 'perfecto' o 'no perfecto' según sea el caso sin enunciados adicionales que lo acompañen.

Nota: Un número es perfecto si la suma de sus divisores es igual al número.

ESTE ES EL CODIGO:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
n1=int(input())
l=range(1,n1)
l1=[]
acump=0
for i in l:
    if (n1%i==0):
        l1=i
 
for i in l1:
    acump=acump+i
 
if (acump==n1):
    print("perfecto")
else:
    print("no perfecto")


NECESITO AYUDA PARA SABER QUE ESTA MAL EN MI CODIGO EL ERROR QUE ME SACA ES :
Traceback (most recent call last):
File "X.py", line 8, in <module>
print(list(lm))
TypeError: 'int' object is not iterable
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
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ERROR CODIGO PYTHON AYUDA!!

Publicado por dario (26 intervenciones) el 01/04/2016 15:59:52
Hola. Tu codigo esta bien, el unico error esta en la linea 7 l1=i con esta sentecia no se estan agregando numeros a la lista l1 por eso el error del for en la linea 9.
Tu codigo deberia ser asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
n1=int(input())
l=range(1,n1)
l1=[]
acump=0
 
for i in l:
    if (n1%i==0):
        l1.append(i)
 
for i in l1:
    acump=acump+i
 
if (acump==n1):
    print("perfecto")
else:
    print("no perfecto")
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