Computer >> Máy Tính >  >> Lập trình >> Python

Giai thừa Python:Hướng dẫn

Cách tính giai thừa trong Python

Bạn có thể nhớ từ “giai thừa” trong lớp toán trung học của bạn. Chúng không dễ tính nếu không có máy tính. Ai muốn tính giai thừa của 10 bằng cách nhân 1x2x3x4, v.v. theo cách thủ công?

Có một số cách bạn có thể tính giai thừa trong Python. Trong hướng dẫn này, chúng ta sẽ nói về cách tính giai thừa bằng cách sử dụng ba phương pháp:phương pháp math.factorial, một hàm đệ quy và một phương pháp lặp.

Không cần phải quảng cáo thêm, hãy bắt đầu!

Giai thừa là gì?

Giai thừa là tích của tất cả các số nguyên giữa một và một số khác.

Được biểu thị dưới dạng công thức toán học, giai thừa là:

n! = 1x2x3...n

Dấu chấm than cho biết rằng chúng ta đang tính giai thừa. “N” là số mà chúng ta đang tính giai thừa. Tính toán của chúng ta dừng lại khi chúng ta đã nhân tất cả các số nguyên nhỏ hơn hoặc bằng “n” với nhau.

Không thể tính thừa số trên số âm.

Giai thừa trong Python:math.factorial ()

Bạn có thể tính toán giai thừa bằng cách sử dụng mô-đun toán học Python. Thư viện này cung cấp một loạt các phương pháp mà bạn có thể sử dụng để thực hiện các hàm toán học. Ví dụ, bạn có thể sử dụng thư viện toán học để tạo một số ngẫu nhiên.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia chương trình đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

math.factorial() phương thức chấp nhận một số và tính giai thừa của nó. Trước khi có thể sử dụng phương pháp này, chúng ta cần nhập thư viện toán học vào mã của mình:

import math

Bây giờ, hãy viết một chương trình Python để tìm giai thừa của 17:

number = 17
fact = math.factorial(number)
print("The factorial of {} is {}.".format(number, str(fact)))

Mã của chúng tôi trả về:Giai thừa của 17 là 355687428096000.

factorial() phương thức trả về giai thừa của một số.

Chúng tôi in số đó vào bảng điều khiển với thông báo:"Giai thừa của 17 là". Chúng tôi sử dụng format() để chúng ta có thể thêm số của chúng ta vào bên trong chuỗi của chúng ta.

Giai thừa Python:Phương pháp tiếp cận lặp lại

Nguyên tố có thể được tính toán mà không cần sử dụng thư viện Python bên ngoài. Bạn có thể tính giai thừa bằng câu lệnh for đơn giản để tính tích của tất cả các số trong một phạm vi được nhân với nhau.

Hãy bắt đầu bằng cách khai báo hai biến:

number = 17
fact = 1

Biến đầu tiên tương ứng với số có giai thừa mà chúng ta muốn tính toán. Biến thứ hai sẽ theo dõi tổng của giai thừa.

Tiếp theo, chúng ta cần tạo một vòng lặp for lặp qua mọi số trong phạm vi của một và số của chúng ta:

for num in range(1, number+1):
	fact = fact * num

print("The factorial of {} is {}.".format(number, str(fact)))

Vòng lặp for tính giai thừa của một số. Câu lệnh print cho chúng ta thấy tổng giai thừa đã được tính trong vòng lặp for của chúng ta.

Mã của chúng tôi trả về:Giai thừa của 17 là 355687428096000.

Phương thức này kém hiệu quả hơn một chút so với math.factorial() phương pháp. Điều này là do math.factorial() phương pháp được thực hiện bằng cách sử dụng phương pháp triển khai loại C. Điều này mang lại một số lợi ích về hiệu suất.

Nếu bạn muốn tính giai thừa của một số mà không cần sử dụng thư viện bên ngoài, thì phương pháp lặp lại là một phương pháp hữu ích để sử dụng.

Giai thừa Python:Phương pháp tiếp cận đệ quy

Giai thừa có thể được tính bằng cách sử dụng một hàm đệ quy. Một hàm đệ quy là một hàm gọi chính nó để giải quyết một vấn đề cụ thể.

Các hàm đệ quy thường được sử dụng để tính toán các chuỗi toán học hoặc để giải quyết các vấn đề toán học. Điều này là do thường có một công thức xác định được sử dụng để tính toán câu trả lời cho một vấn đề.

Mở tệp Python và dán vào hàm sau:

def calculate_factorial(number):
	if number == 1:
		return number
	else:
		return number * calculate_factorial(number - 1)

Hàm này tính toán đệ quy giai thừa của một số. Tiếp theo, chúng ta cần viết một chương trình chính sử dụng chức năng này:

number = 17
fact = calculate_factorial(number)

print("The factorial of {} is {}.".format(number, str(fact)))

Chúng tôi đã khai báo hai biến:number và fact. Số là số mà chúng ta muốn tính giai thừa. “Fact” được chỉ định là kết quả của calculate_factorial() hàm tính giai thừa của chúng ta. Tiếp theo, chúng tôi in câu trả lời vào bảng điều khiển.

Mã của chúng tôi trả về:Giai thừa của 17 là 355687428096000.

Kết luận

Nguyên tố thường được sử dụng trong toán học. Chúng là tích của tất cả các số nguyên từ số này đến số khác khi nhân với nhau.

Bạn có thể tính giai thừa trong Python bằng cách sử dụng math.factorial() , một phương thức lặp hoặc một hàm đệ quy. Các phương pháp tiếp cận lặp lại và đệ quy có thể được viết bằng cái gọi là “vanilla Python”. Điều này có nghĩa là bạn không cần nhập bất kỳ thư viện nào để tính giai thừa với các phương pháp này.

Bây giờ, bạn đã sẵn sàng để tính toán giai thừa trong Python như một chuyên gia!