숫자의 계승을 찾는 것은 파이썬과 관련된 데이터 분석 및 기타 수학적 분석에서 빈번한 요구 사항입니다. 계승은 항상 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'