Viết chương trình giai thừa bằng Python

Writing Factorial Program Python



Giai thừa của một số là số bạn nhận được sau khi nhân tất cả các số từ 1 với số đó. Giai thừa của một số được biểu thị bằng ký hiệu ‘!’. Ví dụ, nếu chúng ta muốn tìm ra giai thừa của 4, ký hiệu là 4 !, thì kết quả sẽ là 1x2x3x4 = 24. Có nhiều cách để tìm ra giai thừa của một số. Giai thừa có thể được xác định trong Python bằng cách sử dụng hàm tích hợp cho các hàm lặp và đệ quy. Hướng dẫn này cho thấy cách xác định giai thừa của một số bằng các hàm khác nhau của Python.

Ví dụ 1: Tìm giai thừa của một số bằng hàm tích hợp

Python có một hàm tích hợp có tên yếu tố() Bên dưới môn Toán mô-đun. Tập lệnh sau sẽ tính toán giai thừa của bất kỳ số nào bằng cách sử dụng một yếu tố() hàm số. Trong tập lệnh này, bất kỳ số nguyên hợp lệ nào sẽ được lấy làm đầu vào và hàm sẽ tính giá trị giai thừa của số đó và in ra giá trị giai thừa của số đầu vào.







#! / usr / bin / env python3
# Nhập mô-đun toán học
nhập khẩu môn Toán
# Lấy bất kỳ giá trị số nào
n= NS(đầu vào('Nhập bất kỳ số nào:'))
# Tìm ra giai thừa
sự thật= môn Toán.yếu tố(n)
# In kết quả của giai thừa
in('Giai thừa của% d là% d'%(n,sự thật))

Đầu ra



Sau khi chạy tập lệnh, 3 được đưa ra làm số đầu vào và đầu ra của 3 !, 6, được in.







Ví dụ 2: Tìm giai thừa của một số bằng vòng lặp

Tập lệnh sau đây cho thấy cách bạn có thể tính giai thừa của bất kỳ số nào mà không cần sử dụng bất kỳ hàm tích hợp sẵn nào trong Python. Đây, vòng lặp được sử dụng để tính giai thừa của một số. Mọi giá trị số nguyên đầu vào sẽ được lấy và lưu trữ dưới dạng biến có tên n . Một biến có tên sự thật được sử dụng để lưu trữ kết quả giai thừa và được khởi tạo thành 1 trước khi vào vòng lặp. Nếu giá trị của n lớn hơn một hoặc bằng một, thì vòng lặp sẽ lặp lại từ 1 đến n + 1 lần và sẽ tính giá trị giai thừa. Nếu không, vòng lặp sẽ kiểm tra xem giá trị của n bằng 0 hay âm. Nếu giá trị của n là 0, thì kết quả giai thừa sẽ là 1; và nếu giá trị của n là số nguyên âm thì thông báo lỗi sẽ được in ra.

#! / usr / bin / env python3

# Lấy một giá trị số và lưu trữ trong n
n= NS(đầu vào('Nhập bất kỳ số nào:'))
# Khởi tạo biến
sự thật= 1
# Tìm ra giai thừa nếu số đầu vào lớn hơn 0
nếu nhưn> = 1:
# Lặp lại vòng lặp thành nhiều số trong khoảng từ 1 đến n
tôitrong phạm vi (1,n +1):
sự thật=thực tế * tôi
# In kết quả fcatorial
in('Giai thừa của% d là% d.'%(n,sự thật))
khác:
nếu nhưn== 0:
# In kết quả bằng 0!
in('Giai thừa của',n, ' Là ')
khác:
# In thông báo lỗi
in('Bạn phải nhập bất kỳ số dương nào')

Đầu ra



Tập lệnh được thực thi ba lần, theo ảnh chụp màn hình sau. Tập lệnh được thực thi cho các giá trị đầu vào 1, 6 và -8. Các kết quả đầu ra được hiển thị theo các giá trị đầu vào.

Ví dụ 3: Tìm giai thừa của một số bằng hàm đệ quy

Hàm gọi chính nó trong quá trình thực thi hàm được gọi là hàm đệ quy. Đoạn mã sau đây chỉ ra cách tính giai thừa của bất kỳ số nguyên nào bằng cách sử dụng một hàm đệ quy. Sau khi lấy số nguyên làm đầu vào, hàm đệ quy factorial_resursive () sẽ được gọi, với giá trị đầu vào là một đối số. Nếu giá trị đầu vào là 0 hoặc 1, thì 1 sẽ được trả về. Nếu giá trị đầu vào là số âm, thì giá trị đối số sẽ được trả về. Nếu giá trị đầu vào lớn hơn 1, thì hàm sẽ tự gọi hàm đó bằng cách trừ đi đối số 1 lặp đi lặp lại cho đến khi nó tính được kết quả của giai thừa.

#! / usr / bin / env python3
# Lấy một giá trị số
con số= NS(đầu vào('Nhập bất kỳ số nào:'))
# Định nghĩa hàm đệ quy để tính giai thừa
phản đốifactorial_recursive(n):
# Lưu trữ kết quả giai thừa của 0 và 1
nếu nhưn== 0 hoặcn== 1:
kết quả= 1
# Lưu trữ số đầu vào cho giá trị negetive
elifn< 1:
kết quả=n
# Tìm kết quả giai thừa theo cách đệ quy
khác:
kết quả=n * factorial_recursive(n-1)
# Trả kết quả
trở lạikết quả
# Gọi hàm
sự thật=factorial_recursive(con số)
# In kết quả cho một số dương
nếu nhưsự thật> = 0:
in('Giai thừa của% d là% d.'%(con số,sự thật))
khác:
# In tin nhắn cho số âm
in('Bạn phải nhập bất kỳ số dương nào')

Đầu ra

Trong ảnh chụp màn hình sau, tập lệnh được thực thi ba lần với các giá trị 1, -5 và 8.

Ví dụ 4: Tìm giai thừa của một số có xử lý ngoại lệ

Ba tập lệnh trên chỉ kiểm tra xem số đó là số dương hay số âm. Tập lệnh sau tính toán giai thừa thông qua một chức năng thừa () được tích hợp sẵn với xử lý ngoại lệ. Nếu người dùng đưa ra bất kỳ đầu vào nào không có giá trị số nguyên, thì một ngoại lệ sẽ được tạo ra và thông báo lỗi sẽ được in.

#! / usr / bin / env python3
# Nhập mô-đun toán học
nhập khẩu môn Toán
# Phá vỡ khối thử
cố gắng:
# Lấy một giá trị số
n= NS(đầu vào('Nhập bất kỳ số nào:'))
nếu nhưn> = 0:
# Tìm ra giai thừa
sự thật= môn Toán.yếu tố(n)
# In kết quả của giai thừa
in('Giai thừa của% d là% d'%(n,sự thật))
khác:
# Tăng ngoại lệ nếu số âm
nâng cao Ngoại lệ('Bạn phải nhập bất kỳ số dương nào')
# in thông báo lỗi cho kiểu nhập phân số
ngoại trừ ValueError:
in('Bạn phải nhập số nguyên')
# In thông báo lỗi cho đầu vào phủ định
ngoại trừ Ngoại lệ nhưVà:
in('Lỗi:% s'%Và)

Đầu ra

Tập lệnh được thực thi ba lần với các giá trị h, -3 và 7 trong ảnh chụp màn hình sau. Ở đây, ngoại lệ được tạo cho giá trị, 'h.'

Phần kết luận

Hướng dẫn này chỉ ra một số cách khác nhau để bạn có thể tính giá trị giai thừa của một số trong Python. Khái niệm về giai thừa của một số và các phương pháp dựa trên Python để tính giai thừa sẽ rõ ràng cho người đọc sau khi đọc hướng dẫn này.