Introdução
Neste projeto, você aprenderá como encontrar todos os números perfeitos dentro do intervalo de 1 a 1000. Números perfeitos são inteiros positivos que são iguais à soma de seus divisores próprios, excluindo o próprio número.
👀 Pré-visualização
## if the range is 1~10, the output should be:
Perfect numbers: 6 ## 6 = 1 + 2 + 3
🎯 Tarefas
Neste projeto, você aprenderá:
- Como implementar a função
perfect_numberpara encontrar todos os números perfeitos dentro de um determinado intervalo - Como testar a função
perfect_numbere verificar a correção dos resultados - Como otimizar e melhorar a função
perfect_numberpara melhor desempenho e legibilidade
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Compreender o conceito de números perfeitos e suas propriedades matemáticas
- Escrever uma função para encontrar todos os números perfeitos dentro de um intervalo especificado
- Testar e depurar seu código para garantir que ele funcione corretamente
- Otimizar seu código para melhor eficiência e legibilidade
- Aplicar suas habilidades de resolução de problemas para melhorar suas habilidades de programação
Entenda o Problema
Nesta etapa, você aprenderá sobre o conceito de números perfeitos e os requisitos para o projeto.
Números perfeitos são inteiros positivos que são iguais à soma de seus divisores próprios, excluindo o próprio número. Por exemplo, os fatores de 6 são 1, 2 e 3. Como 6 = 1 + 2 + 3, 6 é um número perfeito.
O objetivo deste projeto é:
- Completar a função
perfect_numberemperfect_number.pypara encontrar todos os números perfeitos dentro do intervalo de 1 a 1000. - Imprimir todos os números perfeitos encontrados, separados por um espaço.
Implemente a Função perfect_number
Abra o arquivo perfect_number.py e localize a função perfect_number. Esta função é responsável por encontrar todos os números perfeitos dentro do intervalo de 1 a 1000.
Aqui está o código inicial fornecido:
def perfect_number():
"""
Encontra todos os números perfeitos dentro do intervalo de 1 a 1000.
Returns:
list: Uma lista de números perfeitos encontrados dentro do intervalo de 1 a 1000.
"""
result = []
for num in range(1, 1001):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
result.append(num)
return result
Vamos analisar o código passo a passo:
- A função
perfect_numberé definida para encontrar todos os números perfeitos dentro do intervalo de 1 a 1000. - Uma lista vazia
resulté inicializada para armazenar os números perfeitos. - A função itera pelos números de 1 a 1000 (inclusive).
- Para cada número, a função encontra seus fatores (excluindo o próprio número) e os adiciona à lista
factors. - Se a soma dos fatores for igual ao número, o número é considerado um número perfeito e é adicionado à lista
result. - Finalmente, a função retorna a lista
resultcontendo todos os números perfeitos encontrados.
Teste a Função perfect_number
Para testar a função perfect_number, adicione o seguinte código no final do arquivo perfect_number.py:
if __name__ == "__main__":
result = perfect_number()
print("Perfect numbers:", " ".join(map(str, result)))
Este código chamará a função perfect_number e imprimirá todos os números perfeitos encontrados, separados por um espaço.
Salve o arquivo perfect_number.py e execute o script:
python perfect_number.py
A saída deve ser:
Perfect numbers: 6 28 496
Isso significa que a função perfect_number está funcionando corretamente e encontrou os números perfeitos dentro do intervalo de 1 a 1000.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



