डेटा विश्लेषण और अजगर से जुड़े अन्य गणितीय विश्लेषण में किसी संख्या का भाज्य ज्ञात करना एक लगातार आवश्यकता है। 1 से शुरू होकर दी गई संख्या तक सभी पूर्णांकों को गुणा करके हमेशा एक धनात्मक पूर्णांक के लिए भाज्य ज्ञात किया जाता है। इसे खोजने के तीन तरीके हो सकते हैं, जैसा कि नीचे दिखाया गया है।
फॉर लूप का उपयोग करना
हम निर्दिष्ट संख्या तक संख्या 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() का उपयोग करें। यह ऋणात्मक संख्याओं और भिन्नात्मक संख्याओं के परिदृश्य का भी ध्यान रखता है।
उदाहरण
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'