Hướng dẫn factorial using while loop python - giai thừa sử dụng vòng lặp while python

Tôi là người mới và không biết nhiều về Python. Có ai biết làm thế nào bạn có thể viết một giai thừa trong một vòng lặp không?

Tôi có thể làm cho nó trong một câu lệnh IF / ELIF khác:

num = ...
factorial = 1

if num < 0:
   print("must be positive")
elif num == 0:
   print("factorial = 1")
else:
   for i in range(1,num + 1):
       factorial = factorial*i
   print(num, factorial)

Nhưng tôi muốn làm điều này với một vòng lặp thời gian (không có chức năng).

Hướng dẫn factorial using while loop python - giai thừa sử dụng vòng lặp while python

Khelwood

53.4K13 Huy hiệu vàng80 Huy hiệu bạc101 Huy hiệu đồng13 gold badges80 silver badges101 bronze badges

hỏi ngày 17 tháng 2 năm 2016 lúc 20:42Feb 17, 2016 at 20:42

Hướng dẫn factorial using while loop python - giai thừa sử dụng vòng lặp while python

1

while num > 1:
    factorial = factorial * num
    num = num - 1

Đã trả lời ngày 17 tháng 2 năm 2016 lúc 20:46Feb 17, 2016 at 20:46

Hướng dẫn factorial using while loop python - giai thừa sử dụng vòng lặp while python

John Gordonjohn GordonJohn Gordon

25.2K7 Huy hiệu vàng30 Huy hiệu bạc52 Huy hiệu đồng7 gold badges30 silver badges52 bronze badges

Nếu bạn chỉ muốn nhận được kết quả: Math.Factorial (x)

Trong khi lặp lại:

def factorial(n):
    num = 1
    while n >= 1:
        num = num * n
        n = n - 1
    return num

Đã trả lời ngày 17 tháng 2 năm 2016 lúc 20:48Feb 17, 2016 at 20:48

Leongoldleongoldleongold

9746 Huy hiệu bạc13 Huy hiệu Đồng6 silver badges13 bronze badges

Ở đâ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<=num:

fac=fac*i =fac*i

i=i+1=i+1

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 4 is 24

Sử dụng trong khi vòng lặp


trong khi tôi

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

while num > 1:
    factorial = factorial * num
    num = num - 1
0. Nếu số là dương, chúng tôi sử dụng hàm
while num > 1:
    factorial = factorial * num
    num = num - 1
1 và hàm
while num > 1:
    factorial = factorial * num
    num = num - 1
2 để 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,

while num > 1:
    factorial = factorial * num
    num = num - 1
3 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.

Làm thế nào để bạn làm bộ phận cho một vòng lặp?

Sử dụng một vòng lặp để xuất ra một giai thừa..
const factorialof = integer => {// Tính toán đi tại đây} ....
Hãy để Factorial = 1;....
trả lại giai thừa;....
for (hãy để i = 1; tôi
const factorialof = integer => {let factorial = 1;for (hãy để i = 1; tôi

Làm thế nào để bạn viết các giai thừa trong Python?

Thí dụ -..
# Chương trình Python để tìm ..
# Đơn vị số của số đã cho ..
Nhập toán ..
thực tế (n):.
return(math.factorial(n)).
num = int (input ("nhập số:")).
f = thực tế (num).
In ("Factorial của", num "là", f).