python写程序,输入整数n(n>=0),分别利用for循环和while循环求n!。其运行效果如下图所示。
时间: 2024-09-22 14:04:04 浏览: 80
在Python中,你可以使用for循环或while循环来计算阶乘。阶乘是一个正整数n的所有小于及等于它的正整数的积,记作n!。以下是两种方法的示例:
**使用for循环计算阶乘:**
```python
def factorial_for(n):
result = 1
for i in range(1, n+1):
result *= i
return result
n = int(input("请输入一个非负整数:"))
print(f"{n} 的阶乘是:{factorial_for(n)}")
```
**使用while循环计算阶乘:**
```python
def factorial_while(n):
result = 1
i = 1
while i <= n:
result *= i
i += 1
return result
n = int(input("请输入一个非负整数:"))
print(f"{n} 的阶乘是:{factorial_while(n)}")
```
这两种方法都可以得到预期的结果,当你运行这个程序并输入一个非负整数,它会输出对应的阶乘值。
相关问题
编写程序,输入整数 n(n>=0),分别利用 for 循环和 while 循环求 n!
当你需要计算一个整数 `n` 的阶乘 (n!),你可以使用循环结构来迭代从1到`n`的所有整数并相乘。这里我会提供两个版本的代码示例,一个是用 `for` 循环,另一个是用 `while` 循环。
**使用 for 循环的例子:**
```python
def factorial_with_for(n):
if n == 0 or n == 1:
return 1
else:
result = 1
for i in range(1, n + 1):
result *= i
return result
n = int(input("请输入一个非负整数:"))
factorial = factorial_with_for(n)
print(f"{n}! = {factorial}")
```
**使用 while 循环的例子:**
```python
def factorial_with_while(n):
if n == 0 or n == 1:
return 1
else:
result = 1
i = 1
while i <= n:
result *= i
i += 1
return result
n = int(input("请输入一个非负整数:"))
factorial = factorial_with_while(n)
print(f"{n}! = {factorial}")
```
在这两个例子中,如果输入的是0或1,阶乘结果为1;否则,循环遍历从1到n的所有整数并将它们逐个乘起来得到阶乘值。
输入整数n(n>=0),分别利用for循环、while循环、do…while循环求n!,并调试运行成功
以下是Python代码示例:
# for循环
n = int(input("请输入一个非负整数:"))
result = 1
for i in range(1, n+1):
result *= i
print("%d! = %d" % (n, result))
# while循环
n = int(input("请输入一个非负整数:"))
result = 1
i = 1
while i <= n:
result *= i
i += 1
print("%d! = %d" % (n, result))
# do...while循环(Python没有do...while循环,可以使用while True替代)
n = int(input("请输入一个非负整数:"))
result = 1
i = 1
while True:
result *= i
i += 1
if i > n:
break
print("%d! = %d" % (n, result))
阅读全文