Hướng dẫn can you use factorials in python? - bạn có thể sử dụng giai thừa trong python không?

Trong bài viết này, bạn sẽ học cách tìm thấy giai thừa của một số và hiển thị nó.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Python nếu ... tuyên bố khác
  • Python cho vòng lặp
  • Đệ quy Python

Nấp của một số là sản phẩm 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. Nấp không được xác định cho các số âm và giai thừa của số 0 là một, ____10.

Đơn vị của một số sử dụng vòng lặp

# Python program to find the factorial of a number provided by the user.

# change the value for a different result
num = 7

# To take input from the user
#num = int(input("Enter a number: "))

factorial = 1

# check if the number is negative, positive or zero
if num < 0:
   print("Sorry, factorial does not exist for negative numbers")
elif num == 0:
   print("The factorial of 0 is 1")
else:
   for i in range(1,num + 1):
       factorial = factorial*i
   print("The factorial of",num,"is",factorial)

Đầu ra

The factorial of 7 is 5040

Lưu ý: Để kiểm tra chương trình cho một số khác, thay đổi giá trị của

The factorial of 7 is 5040
1. To test the program for a different number, change the value of
The factorial of 7 is 5040
1.

Ở đây, số lượng mà giai thừa sẽ được tìm thấy được lưu trữ trong

The factorial of 7 is 5040
1 và chúng tôi kiểm tra xem số đó là âm, bằng không hoặc dương bằng câu lệnh
The factorial of 7 is 5040
3. Nếu số là dương, chúng tôi sử dụng chức năng
The factorial of 7 is 5040
4 và
The factorial of 7 is 5040
5 để tính toán giai thừa.

Lặp đi lặp lại Factorial*i (giá trị trả về)
i = 11 * 1 = 1
i = 21 * 2 = 2
i = 32 * 3 = 6
i = 46 * 4 = 24
i = 524 * 5 = 120
i = 6120 * 6 = 720
i = 7720 * 7 = 5040

Đơn vị của một số sử dụng đệ quy

# Python program to find the factorial of a number provided by the user
# using recursion

def factorial(x):
    """This is a recursive function
    to find the factorial of an integer"""

    if x == 1:
        return 1
    else:
        # recursive call to the function
        return (x * factorial(x-1))


# change the value for a different result
num = 7

# to take input from the user
# num = int(input("Enter a number: "))

# call the factorial function
result = factorial(num)
print("The factorial of", num, "is", result)

Trong ví dụ trên,

The factorial of 7 is 5040
6 là một hàm đệ quy tự gọi. Ở đây, chức năng sẽ tự gọi mình bằng cách giảm giá trị của x.

Để tìm hiểu về hoạt động của đệ quy, hãy truy cập đệ quy Python.


Tìm kiếm giai thừa của một số là một yêu cầu thường xuyên trong phân tích dữ liệu và phân tích toán học khác liên quan đến Python. Bộ phận giai thừa luôn được tìm thấy cho một số nguyên dương bằng cách nhân tất cả các số nguyên bắt đầu từ 1 cho đến số đã cho. Có thể có ba cách tiếp cận để tìm thấy điều này như hình dưới đây.

Sử dụng một vòng lặp cho

Chúng ta có thể sử dụng một vòng lặp để lặp qua số 1 cho đến khi số được chỉ định và tiếp tục nhân ở mỗi bước. Trong chương trình bên dưới, chúng tôi yêu cầu người dùng nhập số và chuyển đổi đầu vào thành một số nguyên trước khi sử dụng nó trong vòng lặp. Bằng cách này, chúng tôi đảm bảo chúng tôi có được số nguyên dương trong tính toán.

Thí dụ

& nbsp; bản demo trực tiếp

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)

Đầu ra

Chạy mã trên cho chúng ta kết quả sau -

Enter a number: 5
Factorail of 5 is : 120

Sử dụng đệ quy

Thí dụ

& nbsp; bản demo trực tiếp

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)))

Đầu ra

Chạy mã trên cho chúng ta kết quả sau -

#Run1:
Enter a number: 5
120
#Run2:
Enter a number: -2
NA

Sử dụng đệ quy

Sử dụng math.factorial ()

Thí dụ

& nbsp; bản demo trực tiếp

import math
num = input("Enter a number: ")
print("The factorial of ", num, " is : ")
print(math.factorial(int(num)))

Đầu ra

Chạy mã trên cho chúng ta kết quả sau -

#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'

Hướng dẫn can you use factorials in python? - bạn có thể sử dụng giai thừa trong python không?

Sử dụng đệ quy

  • Sử dụng math.factorial ()
  • Trong trường hợp này, chúng tôi có thể trực tiếp sử dụng chức năng giai thừa có sẵn trong mô -đun toán học. Chúng ta không cần phải viết mã cho chức năng giai thừa thay vì sử dụng trực tiếp math.factorial (). Điều đó cũng chăm sóc các số âm và kịch bản số phân số.
  • Đầu ra
  • Factorial nghịch đảo trong Python
  • C# Factorial
  • Chương trình Python cho Factorial của một số
  • Kiểm tra xem N có phải là nguyên tố gốc ở Python không
  • Đệ quy nhân tố trong JavaScript
  • Làm thế nào để tìm giai thừa số bằng cách sử dụng đệ quy trong Python?
  • Phương pháp giai thừa đệ quy trong Java
  • Các số không theo dõi trong C ++
  • Làm thế nào để viết chức năng Python đệ quy để tìm giai thừa?
  • Chương trình Python để tìm giai thừa của một số lượng lớn
  • Chương trình Python để đếm số 0 trong giai thừa của một số
  • Làm thế nào để tìm thấy giai thừa của một số sử dụng Python?
  • Tìm chữ số cuối cùng khi giai thừa của một bộ phận của B trong C ++