একটি পজিটিভ ইন্টিজারের ফ্যাক্টোরিয়াল বের করা ডেটা অ্যানালিসিস এবং ম্যাথেমেটিক্যাল কম্পিউটেশনে খুব সাধারণ। পাইথনে এটি তিনভাবে করা যায়।
১. ফর লুপ (For Loop) ব্যবহার
n = input("Enter a number: ")
factorial = 1
if int(n) >= 1:
for i in range(1, int(n)+1):
factorial *= i
print("Factorial of", n, "is:", factorial)
আউটপুট
Enter a number: 5 Factorial of 5 is: 120
২. রিকার্শন (Recursion) ব্যবহার
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:", math.factorial(int(num)))
আউটপুট
Run1: Enter a number: 5 → 120 Run2: Enter a number: 3.6 → ValueError (int() কনভার্ট করতে পারে না)
`math.factorial()` সবচেয়ে ফাস্ট, বিল্ট-ইন এবং নেগেটিভ/ফ্লোট হ্যান্ডল করে (ValueError থ্রো করে)। প্রোডাকশন কোডে এটি ব্যবহার করা উচিত।