Python - Programa numero perfecto

 
Vista:

Programa numero perfecto

Publicado por Marta (13 intervenciones) el 02/11/2017 15:13:20
Quiero crear un programa que si un usuario introduce un número, este le diga si es perfecto. Un numero perfecto es un número natural que es igual a la suma de sus divisores propios positivos. Tengo escrito esto, pero no me termina de funcionar:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def NumeroPerfecto(num):
	suma = 0
	for i in range(1,num):
		if (num % (i) == 0):
			suma += (i)
	if num == suma:
		return True
	else:
		return False
 
num = int(raw_input("introduzca un numero: "))
if NumeroPerfecto(num):
	print("%s es un numero perfecto" % num)
else:
	print("%s NO es un numero perfecto" % num)
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

Programa numero perfecto

Publicado por dario (60 intervenciones) el 02/11/2017 15:25:41
Tu mismo codigo arreglado (Python 3)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def NumeroPerfecto(num):
  suma = 0
  for i in range(1,num):
    if (num % i == 0):
      suma += i
 
  if num == suma:
    return True
  else:
    return False
 
num = int(input("introduzca un numero:"))
 
if NumeroPerfecto(num):
  print("%s es un numero perfecto" % num)
else:
  print("%s NO es un numero perfecto" % num)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

Programa numero perfecto

Publicado por Sharon Rodríguez (1 intervención) el 23/06/2020 22:24:41
Pregunta: Y si uno quisiera que también 'imprimiera' todos los divisores?
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