python编写一个函数,输入n为偶数时,求1+2+3+...+n的和;当输入n为奇数时,求1!+2!+3!+...+n!的和;
时间: 2023-12-12 14:03:21 浏览: 79
python 编写一个函数,输入n为偶数时,调用函数求解(示例)
5星 · 资源好评率100%
好的,以下是一个满足您需求的 Python 函数:
```python
def sum_n(n):
if n % 2 == 0:
return sum(range(1, n+1))
else:
sum = 0
factorial = 1
for i in range(1, n+1):
factorial *= i
sum += factorial
return sum
```
这个函数接受一个整数参数 n,如果 n 是偶数,则计算 1 到 n 的和;如果 n 是奇数,则计算 1! 到 n! 的和。
当 n 是偶数时,函数使用了 Python 内置函数 `sum()` 和 `range()` 来计算 1 到 n 的和,并将结果直接返回。
当 n 是奇数时,函数使用了一个 for 循环来计算 1! 到 n! 的和,其中使用了一个变量 `factorial` 来保存当前计算的阶乘,并将它累加到另一个变量 `sum` 中。最后,函数返回计算出的总和。
以下是一个调用函数并输出结果的示例代码:
```python
n = 6
result = sum_n(n)
print("当 n 是偶数时,1 到 {0} 的和为:{1}".format(n, result))
n = 5
result = sum_n(n)
print("当 n 是奇数时,1! 到 {0}! 的和为:{1}".format(n, result))
```
您可以将 n 的值改为其他的偶数和奇数来测试函数的运行结果。
阅读全文