Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 팩토리얼:가이드

파이썬 팩토리얼 계산 방법

고등학교 수학 시간에 "팩토리얼"이라는 단어를 기억할 것입니다. 계산기 없이는 계산하기가 쉽지 않습니다. 1x2x3x4 등을 수동으로 곱하여 10의 계승을 계산하려는 사람은 누구입니까?

파이썬에서 계승을 계산할 수 있는 몇 가지 방법이 있습니다. 이 가이드에서는 math.factorial 방법, 재귀 함수 및 반복 방법의 세 가지 접근 방식을 사용하여 계승을 계산하는 방법에 대해 설명합니다.

더 이상 고민하지 않고 시작하겠습니다!

팩토리얼이란 무엇입니까?

계승은 하나와 다른 숫자 사이의 모든 정수의 곱입니다.

수학 공식으로 표현하면 계승은 다음과 같습니다.

<전>엔! =1x2x3...n

느낌표는 계승을 계산하고 있음을 나타냅니다. "n"은 팩토리얼을 계산하는 숫자입니다. "n"보다 작거나 같은 모든 정수를 곱하면 계산이 중지됩니다.

음수에서는 계승을 계산할 수 없습니다.

파이썬 팩토리얼:math.factorial()

Python 수학 모듈을 사용하여 계승을 계산할 수 있습니다. 이 라이브러리는 수학 함수를 수행하는 데 사용할 수 있는 다양한 방법을 제공합니다. 예를 들어, 수학 라이브러리를 사용하여 난수를 생성할 수 있습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

math.factorial() 메소드는 숫자를 받아들이고 팩토리얼을 계산합니다. 이 방법을 사용하기 전에 수학 라이브러리를 코드로 가져와야 합니다.

수학 가져오기

이제 17의 계승을 찾는 Python 프로그램을 작성해 보겠습니다.

number =17fact =math.factorial(number)print("{}의 계승은 {}입니다.".format(number, str(fact)))

코드는 다음을 반환합니다. 17의 계승은 355687428096000입니다.

factorial() 메서드는 숫자의 계승을 반환합니다.

"The factorial of 17 is "라는 메시지와 함께 그 숫자를 콘솔에 출력합니다. format()을 사용합니다. 문자열 안에 숫자를 추가할 수 있습니다.

Python 팩토리얼:반복적 접근

팩토리얼은 외부 Python 라이브러리를 사용하지 않고 계산할 수 있습니다. 범위의 모든 숫자를 곱한 결과를 계산하는 간단한 for 문을 사용하여 계승을 계산할 수 있습니다.

두 개의 변수를 선언하는 것으로 시작하겠습니다.

숫자 =17사실 =1

첫 번째 변수는 팩토리얼을 계산하려는 숫자에 해당합니다. 두 번째 변수는 계승의 합계를 추적합니다.

다음으로 1과 우리 숫자 범위의 모든 숫자를 반복하는 for 루프를 만들어야 합니다.

for num in range(1, number+1):fact =fact * numprint("{}의 계승은 {}입니다.".format(number, str(fact)))

for 루프는 숫자의 계승을 계산합니다. print 문은 for 루프에서 계산된 총 계승을 보여줍니다.

코드는 다음을 반환합니다. 17의 계승은 355687428096000입니다.

이 방법은 math.factorial()보다 약간 덜 효율적입니다. 방법. math.factorial() 방법은 C 유형 구현 방법을 사용하여 구현됩니다. 이것은 많은 성능상의 이점을 제공합니다.

외부 라이브러리를 사용하지 않고 숫자의 계승을 계산하려면 반복적 접근이 유용한 방법입니다.

파이썬 팩토리얼:재귀적 접근

재귀 함수를 사용하여 계승을 계산할 수 있습니다. 재귀 함수는 특정 문제를 해결하기 위해 자신을 호출하는 함수입니다.

재귀 함수는 종종 수학적 시퀀스를 계산하거나 수학적 문제를 해결하는 데 사용됩니다. 이는 일반적으로 문제에 대한 답을 계산하는 데 사용되는 정의된 공식이 있기 때문입니다.

Python 파일을 열고 다음 함수를 붙여넣습니다.

def compute_factorial(숫자):숫자 ==1인 경우 숫자를 반환합니다. else:숫자를 반환합니다. * compute_factorial(숫자 - 1)

이 함수는 숫자의 계승을 재귀적으로 계산합니다. 다음으로 이 함수를 사용하는 메인 프로그램을 작성해야 합니다.

숫자 =17fact =count_factorial(숫자)print("{}의 계승은 {}입니다.".format(숫자, str(팩트)))

우리는 두 개의 변수, 즉 숫자와 사실을 선언했습니다. Number는 팩토리얼을 계산하려는 숫자입니다. "fact"는 calculate_factorial()의 결과에 할당됩니다. 우리의 계승을 계산하는 함수. 다음으로 콘솔에 답을 출력합니다.

코드는 다음을 반환합니다. 17의 계승은 355687428096000입니다.

결론

계승은 수학에서 일반적으로 사용됩니다. 그들은 함께 곱할 때 하나에서 다른 숫자까지의 모든 정수의 곱입니다.

math.factorial()을 사용하여 Python에서 계승을 계산할 수 있습니다. , 반복 방법 또는 재귀 함수. 반복적이고 재귀적인 접근 방식은 소위 "바닐라 파이썬(vanilla Python)"으로 작성할 수 있습니다. 즉, 이러한 접근 방식으로 계승을 계산하기 위해 라이브러리를 가져올 필요가 없습니다.

이제 전문가처럼 Python에서 계승을 계산할 준비가 되었습니다!