编写两个子函数,子函数fac是求一个整数n的阶乘,子函数add是求两个整数a和b的阶乘的和。在主函数中输入两个正整数,求这两个数的阶乘的和
时间: 2024-12-13 08:15:14 浏览: 57
在Python中,你可以编写如下的函数来实现这个需求:
```python
def fac(n):
"""计算一个整数n的阶乘"""
if n == 0 or n == 1:
return 1
else:
return n * fac(n - 1)
def add_factors(a, b):
"""计算两个整数a和b的阶乘之和"""
a_fact = fac(a)
b_fact = fac(b)
return a_fact + b_fact
# 主函数,接收用户输入并调用加法函数
def main():
try:
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
# 检查输入是否为正整数
if num1 <= 0 or num2 <= 0:
print("输入的数字必须是正整数")
else:
result = add_factors(num1, num2)
print(f"{num1} 和 {num2} 的阶乘之和是: {result}")
except ValueError:
print("输入错误,请确保输入的是整数")
if __name__ == "__main__":
main()
```
在这个代码中,`fac`函数递归地计算阶乘,`add_factors`函数则将两个数的阶乘相加。主函数`main`负责获取用户的输入,并验证它们是否为正整数。如果输入有效,就调用`add_factors`函数并打印结果。
阅读全文
相关推荐



















