用pythonfor和while输出n的阶乘
时间: 2024-09-13 09:14:12 浏览: 58
在Python中,可以使用`for`循环和`while`循环来计算n的阶乘,具体方法如下:
使用`for`循环:
```python
def factorial_for(n):
if n < 0:
return "负数没有阶乘"
result = 1
for i in range(1, n + 1):
result *= i
return result
# 例如计算5的阶乘
print(factorial_for(5)) # 输出: 120
```
这段代码首先检查n是否为负数,如果是,则返回错误信息。然后初始化结果变量为1,并使用`range(1, n + 1)`来循环n次,每次循环将`i`乘到结果变量上。
使用`while`循环:
```python
def factorial_while(n):
if n < 0:
return "负数没有阶乘"
result = 1
i = 1
while i <= n:
result *= i
i += 1
return result
# 例如计算5的阶乘
print(factorial_while(5)) # 输出: 120
```
这段代码同样首先检查n是否为负数,然后初始化结果变量为1和循环变量i为1。接着使用`while`循环,只要`i`小于等于n,就执行循环体,将`i`乘到结果变量上,并将`i`自增1。
相关问题
python利用for和while求n!
可以使用for或while循环来求n的阶乘。以下是两种方法:
使用for循环:
n = 5
result = 1
for i in range(1, n+1):
result *= i
print(result)
输出结果为120,即5!的值。
使用while循环:
n = 5
result = 1
i = 1
while i <= n:
result *= i
i += 1
print(result)
同样输出结果为120。
在Python中用while循环结构执行n的阶乘
当然可以,下面是一个使用 while 循环计算 n 的阶乘的 Python 代码:
```python
def factorial(n):
result = 1
i = 1
while i <= n:
result *= i
i += 1
return result
n = 5
result = factorial(n)
print(result)
```
这段代码与使用 for 循环的代码类似,只是使用了 while 循环来代替了 for 循环。在 while 循环中,我们使用一个变量 i 来迭代计算阶乘,每次乘以当前的 i 值,并将 i 的值加 1,直到 i 大于 n 为止。然后,我们返回计算得到的阶乘结果。最后,我们使用 n = 5 来调用这个函数,计算 5 的阶乘,并将结果存储在 result 变量中。最后,我们输出 result 的值,即 5 的阶乘的结果 120。
阅读全文