Làm cách nào để tìm giai thừa của một số bằng cách sử dụng vòng lặp while trong Python?

Trong bài viết này, tôi đã tạo một số chương trình bằng Python, tìm và in giai thừa của một số đã cho bởi người dùng trong thời gian chạy. Dưới đây là danh sách các phương pháp được sử dụng

  • Tìm giai thừa của một số bằng vòng lặp while
  • Sử dụng cho vòng lặp
  • Sử dụng hàm do người dùng định nghĩa
  • Sử dụng đệ quy
  • Sử dụng lớp

Trước khi tạo các chương trình này, hãy nhắc lại về công thức giai thừa, đó là

n! = (n)*(n-1)*(n-2)*...*3*2*1

Ở đây n chỉ ra một số trong đó, giai thừa sẽ tìm thấy. Các. (chấm than) biểu thị giai thừa. Con trai. có thể gọi là n giai thừa. Ví dụ: 5. có thể được tính như

Tìm giai thừa bằng vòng lặp while

Để tìm giai thừa của bất kỳ số nào trong Python, bạn phải yêu cầu người dùng nhập số, sau đó tìm và in giai thừa của nó theo công thức đã cho ở trên, như thể hiện trong chương trình dưới đây

Câu hỏi là, hãy viết chương trình Python để tìm giai thừa của một số đã cho bằng cách sử dụng vòng lặp while. Đây là câu trả lời của nó

print("Enter the Number: ")
num = int(input())

fact = 1
i = 1
while i<=num:
    fact = fact*i
    i = i+1

print("\nFactorial =", fact)

Đây là đầu ra ban đầu được tạo bởi chương trình Python này

find factorial of number python

Bây giờ cung cấp đầu vào nói 5 dưới dạng số và nhấn phím

print("Enter the Number: ")
num = int(input())

fact = 1
i = 1
while i<=num:
    fact = fact*i
    i = i+1

print("\nFactorial =", fact)
4 để tìm giai thừa của nó như được hiển thị trong ảnh chụp nhanh bên dưới

factorial of number python

Quá trình chạy khô khan của chương trình trên với đầu vào của người dùng 5 diễn ra như sau

  • Giá trị ban đầu, num=5 (do người dùng nhập), fact=1, i=1
  • Bây giờ quá trình thực hiện vòng lặp while bắt đầu
  • Nghĩa là, điều kiện i<=num hoặc 1<=5 được đánh giá là đúng, do đó luồng chương trình đi vào bên trong vòng lặp (bên trong phần thân của nó)
  • Bên trong vòng lặp, fact*i hoặc 1*1 hoặc 1 được khởi tạo thành fact. Và giá trị của i được tăng thêm 1. Vì vậy, tôi = 2
  • Một lần nữa, điều kiện i<=num hoặc 2<=5 được đánh giá là đúng, do đó, một lần nữa fact*i hoặc 1*2 hoặc 2 được khởi tạo thành fact. Vì vậy, thực tế = 2
  • Và i+1 hoặc 2+1 hoặc 3 được khởi tạo thành i. Vì vậy, tôi = 3
  • Một lần nữa, điều kiện, i<=num hoặc 3<=5 được đánh giá là đúng, do đó, luồng chương trình lại đi vào bên trong vòng lặp và thực hiện hai câu lệnh của nó. Quá trình này tiếp tục cho đến khi điều kiện đánh giá là sai
  • Theo cách này, sau khi thoát khỏi vòng lặp, biến fact giữ giá trị giai thừa của một số được lưu trong biến num
  • Vì vậy, chỉ cần in giá trị của thực tế dưới dạng giai thừa của một số đã cho

Tìm giai thừa bằng cách sử dụng for Loop

Chương trình này thực hiện công việc tương tự như chương trình trước, nhưng sử dụng vòng lặp for, thay vì vòng lặp while. Thử ngoại trừ được sử dụng trong chương trình này để xử lý các đầu vào không hợp lệ do người dùng nhập vào. Và kết thúc được sử dụng để bỏ qua việc chèn một dòng mới tự động

print("Enter a Number: ", end="")
try:
    num = int(input())
    fact = 1
    for i in range(1, num+1):
        fact = fact*i
    print("\nFactorial of", num, "=", fact)
except ValueError:
    print("\nInvalid Input!")

Đây là lần chạy mẫu của nó với cùng một đầu vào của người dùng như chương trình trước

python find factorial of number

Trong chương trình trên, đoạn mã sau

được áp dụng để thực hiện câu lệnh sau

num số lần với giá trị của i từ 1 đến giá trị của num

Tìm giai thừa bằng hàm

Chương trình này được tạo bằng hàm do người dùng định nghĩa có tên findFact(). Hàm này nhận một giá trị làm đối số, sau đó tìm và trả về giai thừa của nó

def findFact(n):
    f = 1
    for i in range(1, n+1):
        f = f*i
    return f

print("Enter a Number: ", end="")
try:
    num = int(input())
    fact = findFact(num)
    print("\nFactorial of", num, "=", fact)
except ValueError:
    print("\nInvalid Input!")

Chương trình này tạo ra đầu ra giống như chương trình trước

Tìm giai thừa bằng cách sử dụng đệ quy

Chương trình sau được tạo bằng hàm đệ quy có tên findFact(). Hàm này tự gọi cho đến khi giá trị của đối số của nó bằng 1

def findFact(n):
    if n==1:
        return n
    else:
        return n*findFact(n-1)

print("Enter a Number: ", end="")
try:
    num = int(input())
    fact = findFact(num)
    print("\nFactorial of", num, "=", fact)
except ValueError:
    print("\nInvalid Input!")

Tìm giai thừa bằng Class

Đây là chương trình cuối cùng để tìm và in giai thừa của một số do người dùng nhập vào, được tạo bằng lớp có tên CodesCracker. Một đối tượng ob được tạo từ lớp này để truy cập hàm thành viên của nó (findFact()) bằng dấu chấm (. ) nhà điều hành

Viết chương trình Python để tìm Giai thừa của một số bằng Vòng lặp For, Vòng lặp While, Hàm và Đệ quy. Giai thừa của một số là tích của tất cả các số nhỏ hơn hoặc bằng số đó & lớn hơn 0. N. = n * (n-1) * (n -2) * ……. * 1

Chương trình Python tìm giai thừa của một số bằng hàm Math

Nó được biểu thị bằng dấu chấm than (. ), và trong chương trình này, chúng tôi đang sử dụng hàm giai thừa mô-đun toán học tích hợp trên số để tìm nó

import math 

a = int(input(" Please enter any Integer : "))

ft = math.factorial(a)
print("The Result of %d  = %d" %(a, ft))
Please enter any Integer : 5
The Result of 4 = 120

Chương trình Python để tìm giai thừa của một số bằng vòng lặp For

Mã này cho phép người dùng nhập bất kỳ số nguyên nào. Sử dụng giá trị đã cho này, chương trình này tìm Giai thừa của một số bằng vòng lặp For

number = int(input(" Please enter any Number : "))
fact = 1

for i in range(1, number + 1):
    fact = fact * i
print("The factorial of %d  = %d" %(number, fact))
Python Program to find Factorial of a Number 2

Người dùng đã nhập số nguyên trong ví dụ chương trình trên là 4. Vui lòng tham khảo các bài viết về hàm toán học, tìm thực tế, For Loop, While Loop, Hàm trong Python

Lần lặp đầu tiên
i = 1, Thực tế = 1 và số = 5

Sự thật = Sự thật * i;
Sự thật = 1 * 1 = 1

Lặp lại lần thứ hai
i = 2, Thực tế = 1 và Số = 5
Thực tế = 1 * 2 = 2

Lần lặp thứ ba
i = 3, Thực tế = 2 và Số = 5
Thực tế = 2 * 3 = 6

Lặp lại lần thứ tư
i = 4, Thực tế = 6 và Số lượng = 5
Thực tế = 6 * 4 = 24

Tiếp theo, tôi trở thành 5. Vì vậy, vòng lặp For đã kết thúc

Chương trình Python để tìm giai thừa của một số bằng vòng lặp While

Trong chương trình này, chúng ta chỉ thay thế vòng lặp for bằng Vòng lặp While để tìm giai thừa của một số

value = int(input(" Please enter any Value : "))
fact = 1
i = 1

while(i <= value):
    fact = fact * i
    i = i + 1

print("The Result of %d  = %d" %(value, fact))
Please enter any Value : 8
The Result of 8 = 40320

đầu ra 2

print("Enter the Number: ")
num = int(input())

fact = 1
i = 1
while i<=num:
    fact = fact*i
    i = i+1

print("\nFactorial =", fact)
0

Chương trình Python để tìm giai thừa của một số bằng Hàm

Mã này giống như ví dụ đầu tiên. Tuy nhiên, chúng tôi đã tách logic giai thừa bằng Hàm

print("Enter the Number: ")
num = int(input())

fact = 1
i = 1
while i<=num:
    fact = fact*i
    i = i+1

print("\nFactorial =", fact)
1
print("Enter the Number: ")
num = int(input())

fact = 1
i = 1
while i<=num:
    fact = fact*i
    i = i+1

print("\nFactorial =", fact)
2

đầu ra 2

print("Enter the Number: ")
num = int(input())

fact = 1
i = 1
while i<=num:
    fact = fact*i
    i = i+1

print("\nFactorial =", fact)
3

Chương trình Python để tìm giai thừa của một số bằng cách sử dụng đệ quy

Mã này chuyển giá trị do người dùng nhập vào Hàm. Trong hàm đệ quy này, ví dụ này tìm giai thừa của một số bằng cách sử dụng hàm đệ quy hoặc đệ quy

Làm cách nào để tìm giai thừa của một số trong Python bằng vòng lặp for?

Giai thừa của một số là tích của tất cả các số nguyên từ 1 đến số đó. Ví dụ, giai thừa của 6 là 1*2*3*4*5*6 = 720. . Giai thừa của một số bằng vòng lặp

Có toán tử giai thừa nào trong Python không?

factorial() trong Python . python offers a direct function that can compute the factorial of a number without writing the whole code for computing factorial.

Cách dễ nhất để tìm giai thừa của một số là gì?

Giai thừa của một số nguyên dương (số) là tổng phép nhân của tất cả các số nguyên nhỏ hơn số nguyên dương đó . Ví dụ, giai thừa của 5 là 5 * 4 * 3 * 2 * 1 bằng 120.