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èn không được xác định cho các số âm và giai thừa của số 0 là một, 0! = 1
.
Đơ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 num
. To test the program for a different number, change the value of num
.
Ở đây, số lượng mà giai thừa sẽ được tìm thấy được lưu trữ trong num
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 if...elif...else
. Nếu số là dương, chúng tôi sử dụng chức năng for
và range[]
để tính toán giai thừa.
Lặp đi lặp lại | Factorial*i [giá trị trả về] |
i = 1 | 1 * 1 = 1 |
i = 2 | 1 * 2 = 2 |
i = 3 | 2 * 3 = 6 |
i = 4 | 6 * 4 = 24 |
i = 5 | 24 * 5 = 120 |
i = 6 | 120 * 6 = 720 |
i = 7 | 720 * 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 50400 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.
Ở đây bạn sẽ nhận được chương trình Python để tìm giai thừa số sử dụng cho và trong khi vòng lặp.
Lao động của một số được tính bằng cách nhân nó với tất cả các số bên dưới nó bắt đầu từ 1.
Ví dụ: giai thừa 4 là 24 [1 x 2 x 3 x 4].
Chương trình dưới đây lấy một số từ người dùng làm đầu vào và tìm giai thừa của nó.
Sử dụng cho vòng lặp
num = int [input ["nhập một số:"]]=int[input["enter a number: "]] fac=1=1 foriinrange[1,num+1]:iinrange[1,num+ 1]: fac=fac*i=fac*i in ["Factorial của", num "là", fac]["factorial of ",num," is ",fac] |
Đầu ra
Nhập một số: 5Factorial của 5 là 120
factorial of 5 is 120
Sử dụng trong khi vòng lặp
num = int [input ["nhập một số:"]]=int[input["enter a number: "]] fac=1=1 i=1=1 in ["Factorial của", num "là", fac]i Chủ Đề |