완전수 찾기 프로젝트

PythonBeginner
지금 연습하기

소개

이 프로젝트에서는 1 부터 1000 까지의 범위 내에서 모든 완전수를 찾는 방법을 배우게 됩니다. 완전수는 자신을 제외한 진약수의 합과 같은 양의 정수입니다.

👀 미리보기

## 만약 범위가 1~10 이라면, 출력은 다음과 같아야 합니다:
Perfect numbers: 6  ## 6 = 1 + 2 + 3

🎯 과제

이 프로젝트에서 다음을 배우게 됩니다:

  • 주어진 범위 내에서 모든 완전수를 찾기 위해 perfect_number 함수를 구현하는 방법
  • perfect_number 함수를 테스트하고 결과의 정확성을 확인하는 방법
  • 더 나은 성능과 가독성을 위해 perfect_number 함수를 최적화하고 개선하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • 완전수의 개념과 수학적 속성을 이해합니다.
  • 지정된 범위 내에서 모든 완전수를 찾는 함수를 작성합니다.
  • 코드가 올바르게 작동하는지 테스트하고 디버깅합니다.
  • 더 나은 효율성과 가독성을 위해 코드를 최적화합니다.
  • 문제 해결 능력을 적용하여 프로그래밍 능력을 향상시킵니다.

문제 이해

이 단계에서는 완전수의 개념과 프로젝트 요구 사항에 대해 배우게 됩니다.

완전수는 자신을 제외한 진약수의 합과 같은 양의 정수입니다. 예를 들어, 6 의 약수는 1, 2, 3 입니다. 6 = 1 + 2 + 3 이므로 6 은 완전수입니다.

이 프로젝트의 목표는 다음과 같습니다:

  1. perfect_number.py에서 perfect_number 함수를 완성하여 1 부터 1000 까지의 범위 내에서 모든 완전수를 찾습니다.
  2. 찾은 모든 완전수를 공백으로 구분하여 출력합니다.
✨ 솔루션 확인 및 연습

perfect_number 함수 구현

perfect_number.py 파일을 열고 perfect_number 함수를 찾습니다. 이 함수는 1 부터 1000 까지의 범위 내에서 모든 완전수를 찾는 역할을 합니다.

다음은 제공된 초기 코드입니다:

def perfect_number():
    """
    Find all the perfect numbers within the range of 1 to 1000.

    Returns:
        list: A list of perfect numbers found within the range of 1 to 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

코드를 단계별로 살펴보겠습니다:

  1. perfect_number 함수는 1 부터 1000 까지의 범위 내에서 모든 완전수를 찾도록 정의됩니다.
  2. 완전수를 저장하기 위해 빈 리스트 result가 초기화됩니다.
  3. 함수는 1 부터 1000 까지 (포함) 의 숫자를 반복합니다.
  4. 각 숫자에 대해, 함수는 해당 숫자의 약수 (자신을 제외) 를 찾아서 factors 리스트에 추가합니다.
  5. 약수의 합이 숫자와 같으면, 해당 숫자는 완전수로 간주되어 result 리스트에 추가됩니다.
  6. 마지막으로, 함수는 찾은 모든 완전수를 포함하는 result 리스트를 반환합니다.
✨ 솔루션 확인 및 연습

perfect_number 함수 테스트

perfect_number 함수를 테스트하려면, perfect_number.py 파일의 끝에 다음 코드를 추가하십시오:

if __name__ == "__main__":
    result = perfect_number()
    print("Perfect numbers:", " ".join(map(str, result)))

이 코드는 perfect_number 함수를 호출하고 찾은 모든 완전수를 공백으로 구분하여 출력합니다.

perfect_number.py 파일을 저장하고 스크립트를 실행합니다:

python perfect_number.py

출력 결과는 다음과 같아야 합니다:

Perfect numbers: 6 28 496

이는 perfect_number 함수가 올바르게 작동하고 1 부터 1000 까지의 범위 내에서 완전수를 찾았음을 의미합니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.