Python 팩토리얼 계산

PythonBeginner
지금 연습하기

소개

이 프로젝트에서는 음이 아닌 정수의 팩토리얼을 계산하는 방법을 배우게 됩니다. 양의 정수의 팩토리얼은 해당 정수 이하의 모든 양의 정수의 곱이며, 0 의 팩토리얼은 1 입니다.

👀 미리보기

$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

🎯 과제

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

  • ~/project 디렉토리에 factorial.py 파일을 만드는 방법
  • 음이 아닌 정수의 팩토리얼을 계산하는 factorial 함수를 구현하는 방법
  • ValueError를 발생시켜 음수 입력을 처리하고 "Please enter a non-negative integer"라는 메시지를 표시하는 방법

🏆 성과

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

  • 팩토리얼의 개념과 계산 방법을 이해합니다.
  • 음이 아닌 정수의 팩토리얼을 계산하는 Python 함수를 작성합니다.
  • 입력 오류를 처리하고 적절한 오류 메시지를 표시합니다.
  • 실제 문제를 해결하기 위해 Python 프로그래밍 지식을 적용합니다.

factorial.py 파일 생성

이 단계에서는 ~/project 디렉토리에 factorial.py 파일을 생성합니다. 이 단계를 완료하려면 아래 단계를 따르세요:

  1. 새 파일을 생성하고 ~/project 디렉토리에 factorial.py로 저장합니다.
cd ~/project
touch factorial.py
  1. factorial.py 파일에 다음 코드를 추가합니다:
def factorial(n):
    """
    음이 아닌 정수의 팩토리얼을 계산합니다.

    Args:
        n (int): 팩토리얼을 계산할 음이 아닌 정수.

    Returns:
        str: 입력 정수의 팩토리얼을 "{n}! = {factors_str} = {result}" 형식으로 반환합니다.

    Raises:
        ValueError: 입력 정수가 음수인 경우.
    """
    ## 여기에 코드를 추가하세요

이것은 다음 단계에서 구현할 factorial 함수의 시작점입니다.

팩토리얼 함수 구현

이 단계에서는 factorial.py 파일에서 factorial 함수를 구현합니다. 이 단계를 완료하려면 아래 단계를 따르세요:

  1. factorial.py 파일에서 ## Add your code here 주석을 다음 코드로 바꿉니다:
def factorial(n):
    """
    음이 아닌 정수의 팩토리얼을 계산합니다.

    Args:
        n (int): 팩토리얼을 계산할 음이 아닌 정수.

    Returns:
        str: 입력 정수의 팩토리얼을 "{n}! = {factors_str} = {result}" 형식으로 반환합니다.

    Raises:
        ValueError: 입력 정수가 음수인 경우.
    """
    if n < 0:
        raise ValueError("Please enter a non-negative integer.")
    elif n == 0:
        return "0! = 1"
    else:
        result = 1
        factors = []
        for i in range(1, n + 1):
            result *= i
            factors.append(str(i))
        factors_str = " * ".join(factors)
        return f"{n}! = {factors_str} = {result}"

## 부분 예시 출력:
print(factorial(2))
print(factorial(8))

이 코드는 음이 아닌 정수의 팩토리얼을 계산하는 기능을 구현합니다. 음수 입력의 경우 ValueError를 발생시키고, 0 의 경우 "0! = 1"을 반환하여 처리합니다. 다른 모든 음이 아닌 정수의 경우, 1 부터 입력 숫자까지의 모든 숫자를 곱하여 팩토리얼을 계산하고 원하는 형식으로 결과를 반환합니다.

  1. factorial.py 파일을 저장합니다.

이제 factorial.py 파일이 완성되었으며, factorial 함수를 사용하여 모든 음이 아닌 정수의 팩토리얼을 계산할 수 있습니다.

  1. 구현을 테스트하려면 터미널에서 다음 명령을 실행합니다:
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

요약

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

✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습