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).
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
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
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 {// Tính toán đi tại đây} .... Chủ đề |