숫자의 계승을 찾는 것은 파이썬과 관련된 데이터 분석 및 기타 수학적 분석에서 빈번한 요구 사항입니다. 계승은 항상 1에서 시작하여 주어진 숫자까지 모든 정수를 곱하여 양의 정수에 대해 발견됩니다. 아래와 같이 3가지 방법으로 찾을 수 있습니다.
For 루프 사용
for 루프를 사용하여 지정된 숫자까지 숫자 1을 반복하고 각 단계에서 계속 곱할 수 있습니다. 아래 프로그램에서 우리는 루프에서 사용하기 전에 숫자를 입력하고 입력을 정수로 변환하도록 사용자에게 요청합니다. 이렇게 하면 계산에서 양의 정수를 얻을 수 있습니다.
예시
n = input("Enter a number: ") factorial = 1 if int(n) >= 1: for i in range (1,int(n)+1): factorial = factorial * i print("Factorail of ",n , " is : ",factorial)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Enter a number: 5 Factorail of 5 is : 120
재귀 사용
예시
num = input("Enter a number: ") def recur_factorial(n): if n == 1: return n elif n < 1: return ("NA") else: return n*recur_factorial(n-1) print (recur_factorial(int(num)))
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
#Run1: Enter a number: 5 120 #Run2: Enter a number: -2 NA
math.factorial() 사용
이 경우 수학 모듈에서 사용할 수 있는 계승 함수를 직접 사용할 수 있습니다. 계승 기능을 위한 코드를 작성할 필요가 없으며 math.factorial()을 직접 사용합니다. 음수 및 분수 시나리오도 처리합니다.
예시
import math num = input("Enter a number: ") print("The factorial of ", num, " is : ") print(math.factorial(int(num)))
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
#Run1: Enter a number: 5 The factorial of 5 is : 120 #Run 2: Enter a number: 3.6 Traceback (most recent call last): The factorial of 3.6 is : File "C:/Users....py", line 5, in print(math.factorial(int(num))) ValueError: invalid literal for int() with base 10: '3.6'