编写一个自定义的递归函数fun(n),该函数的功能是求整数n的阶乘,在主函数main中调用此自定义函数,求解1!+2!+3!+......n!,运行时n由用户从键盘输入,如果输入的不是整数,则屏幕输出“输入非法!请重新输入!”
时间: 2023-10-07 17:10:02 浏览: 153
编程实现计算:1!+2!+3!+……+N!的值,要求定义并调用函数计算N!。
5星 · 资源好评率100%
以下是Python语言的代码实现:
```python
def fun(n):
if n == 1:
return 1
else:
return n * fun(n-1)
while True:
try:
n = int(input("请输入一个正整数n:"))
if n < 0:
print("输入非法!请重新输入!")
continue
else:
sum = 0
for i in range(1, n+1):
sum += fun(i)
print("1!+2!+3!+...+n!的结果为:", sum)
break
except ValueError:
print("输入非法!请重新输入!")
```
首先定义了一个自定义函数fun(n),用于求解整数n的阶乘,采用递归的方式实现。然后在主函数main中,使用循环结构和异常处理语句,不断从键盘输入一个正整数n,如果输入的不是整数,则屏幕输出“输入非法!请重新输入!”。如果输入的是正整数,则用for循环求解1!+2!+3!+......n!的结果,并输出。
阅读全文