Descrição
Olá PessoALL,
O código a seguir é bem simples: ele calcula os números perfeitos. Os números perfeitos são aqueles que podem ser compostos pela soma dos seus divisores menores que o mesmo.
Por exemplo:
6 = 1+2+3 = 6
28 = 1+2+4+7+14
Qualquer dúvida, sugestões, críticas serão sempre bem-vindas,
@fagner_candido
fagner7777777@gmail.com
fCandido
[ Download:
NPerfeitos.py ]
[
Enviar nova versão ]
[ Esconder código-fonte ]
'''
Sintese :
Objetivo : Determinar os numeros perfeitos
Entrada : n valores
Saida : Numeros que se enquadram na condicao
Autor :
f_Candido
@fagner_candido
fagner7777777@gmail.com
'''
import time
class NPerfeitos:
def __init__(self):
self.totalSomatorio = 0
self.valorInicial = 30
self.contador = 2
self.listaSomatorio = [1]
def calcula(self):
'''
Metodo que que calcula os numeros perfeitos
'''
while(True):
if self.contador == self.valorInicial:
self.totalSomatorio = self.somatorio(self.listaSomatorio)
if self.totalSomatorio == self.valorInicial:
print self.valorInicial
time.sleep(2)
self.alteraAtributos()
else:
print self.valorInicial
self.alteraAtributos()
if self.isDivisivel(self.valorInicial, self.contador):
self.listaSomatorio.append(self.contador)
self.contador = self.contador + 1
def isDivisivel(self, dividendo, divisor):
'''
Metodo que compara a divisibilidade
'''
if((dividendo%divisor) == 0):
return True
else:
return False
def somatorio(self, lista):
'''
Metodo que realiza o somatorio
'''
somatorioTotal = 0
for auxiliar in lista:
somatorioTotal = somatorioTotal + auxiliar
return somatorioTotal
def alteraAtributos(self):
'''
Reinicializa os atributos
'''
self.valorInicial = self.valorInicial + 1
self.contador = 2
self.listaSomatorio = []
self.listaSomatorio.append(1)
self.totalSomatorio = 0
objNPerfeitos = NPerfeitos()
objNPerfeitos.calcula()
Scripts recomendados
Detecção de Usuário
Gerador de grafos no formato .gif
calculos simples
Estrutura e repetição for e while
dado-6-faces c/ Tkinter "telinha gráfica" o0o0o0
Comentários
| Nenhum comentário foi encontrado. |