私は新しく、Pythonについてあまり知りません。 whileループで階乗を書く方法を知っている人はいますか?
If/Elif elseステートメントで作成できます:
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)
しかし、私はこれをwhileループ(関数なし)で実行したいと思います。
while num > 1:
factorial = factorial * num
num = num - 1
結果を取得したいだけの場合: math.factorial(x)
Whileループ:
def factorial(n):
num = 1
while n >= 1:
num = num * n
n = n - 1
return num
number = int(input("Enter number:"))
factorial = 1
while number>0:
factorial = factorial * number
number = number - 1
print(factorial)
標準ライブラリを使用して簡単にします。
import math
print(math.factorial(x))