一个正整数n的阶乘为:1×2×...×(n-1)×n;当n为0时,阶乘为1。请编写Python程序使用for循环实现n的阶乘。程序输入为一个非负整数 ,输出为其阶乘结果
时间: 2024-12-05 12:16:12 浏览: 16
当然,我们可以使用for循环来计算给定非负整数n的阶乘。这是一个简单的Python程序示例:
```python
def factorial(n):
# 验证输入是否为非负整数
if not isinstance(n, int) or n < 0:
return "Error: Input must be a non-negative integer."
# 初始化阶乘为1
result = 1
# 使用for循环计算阶乘
for i in range(1, n + 1):
result *= i
return result
# 用户输入
input_number = int(input("Enter a non-negative integer: "))
print("The factorial of", input_number, "is:", factorial(input_number))
```
在这个程序中,`factorial`函数首先检查输入是否是非负整数。然后,它初始化一个变量`result`为1,接着用for循环从1遍历到n(包括n),每次迭代都将当前的i值乘到`result`上。最终返回的就是n的阶乘。
相关问题
用阶乘求和:求1!+2!+3!+……+n!,n由键盘输入。 1.输入格式: 输入正整数n: 2 输出格式: 3 2.输入格式: 输入正整数n: 4 输出格式: 33
下面是用 Python 编写的代码,可以实现阶乘求和的功能:
```python
n = int(input("输入正整数n: ")) # 读取用户输入的正整数n
sum = 0 # 初始化求和变量
factorial = 1 # 初始化阶乘变量
for i in range(1, n+1):
factorial *= i # 计算i的阶乘
sum += factorial # 将i的阶乘加入到求和变量中
print(sum) # 输出结果
```
运行结果:
```
输入正整数n: 4
33
```
解释:当输入正整数n为4时,程序会计算1!、2!、3!和4!,并将它们相加得到33,最后输出结果。
一个正整数n的阶乘为:1×2×…×(n-1)×n;当n为0时,阶乘为1。请编写Python程序使用while循环实现n的阶乘;。程序输入为一个非负整数 ,输出为其阶乘结果
当然,你可以使用while循环来计算给定非负整数n的阶乘。这里是一个简单的Python程序示例:
```python
def factorial(n):
# 检查输入是否是非负整数
if not isinstance(n, int) or n < 0:
print("请输入一个非负整数.")
return
# 初始化阶乘为1(因为0的阶乘定义为1)
fact = 1
i = 1
# 使用while循环计算阶乘
while i <= n:
fact *= i
i += 1
return fact
# 获取用户输入并计算阶乘
n = int(input("请输入一个非负整数:"))
result = factorial(n)
if result is not None:
print(f"{n}的阶乘是:{result}")
```
在这个程序中,我们首先检查输入是否为非负整数,然后初始化阶乘值为1,接着用`while`循环从1乘到n,每次迭代都将当前的i值乘到阶乘上。循环结束后返回阶乘结果。
如果你运行这个程序,它会提示你输入一个数字,然后显示该数字的阶乘。
阅读全文