编写函数fac(n),用递归法求出n的阶乘(1<=n<=10)。 在main()函数中测试此函数:从键盘输入整数n,然后调用该函数并输出结果
时间: 2024-10-07 10:04:34 浏览: 82
Python入门程序 函数应用(判断素数、递归求n的阶乘、x的n次方、最大最小值、插入排序法)
可以使用递归来编写一个名为`fac()`的函数,它接受一个整数`n`作为参数,返回`n`的阶乘。递归的基本思想是,如果`n`是1,则其阶乘为1;否则,`n`的阶乘等于`n`乘以`(n-1)`的阶乘。下面是使用Python语言实现的例子:
```python
def fac(n):
if n == 1:
return 1
else:
return n * fac(n - 1)
def main():
n = int(input("请输入一个1到10之间的整数:"))
if n < 1 or n > 10:
print("输入的数值不在范围内,请重新输入。")
else:
result = fac(n)
print(f"{n}的阶乘是:{result}")
if __name__ == "__main__":
main()
```
在这个程序中,`main()`函数首先获取用户的输入,检查是否在指定范围(1到10),然后调用`fac(n)`计算阶乘,并将结果打印出来。如果用户输入的值超出范围,会给出相应的提示。
阅读全文