编写程序,计算组合式公式并输出结果,要求编写函数计算n!,编写主函数,由键盘输入n和m,调用函数完成计算,输入n和m要给出提示,并检查n和m的合理性,不合理的输入应输出错误信息,并不再进行计算
时间: 2024-05-11 21:18:15 浏览: 77
以下是一个 Python 的示例代码,实现了计算组合式的功能,其中包括了检查输入的 n 和 m 是否合理的步骤:
```python
def factorial(n):
"""
计算 n 的阶乘
"""
if n == 0:
return 1
else:
return n * factorial(n-1)
def combination(n, m):
"""
计算组合式 C(n, m)
"""
if n < m:
raise ValueError("n 应该大于等于 m")
else:
return factorial(n) // (factorial(m) * factorial(n-m))
if __name__ == '__main__':
try:
n = int(input("请输入 n:"))
m = int(input("请输入 m:"))
if n < 0 or m < 0:
raise ValueError("n 和 m 应该为非负整数")
result = combination(n, m)
print(f"C({n}, {m}) = {result}")
except ValueError as e:
print(f"错误:{e}")
```
在这个代码中,`factorial(n)` 函数用于计算 n 的阶乘,`combination(n, m)` 函数用于计算组合式 C(n, m)。输入的 n 和 m 都应该是非负整数,如果不是,则会抛出 `ValueError` 异常并输出错误信息。如果 n 小于 m,则会抛出同样的异常并输出错误信息。
在主函数中,首先使用 `input` 函数从键盘读取输入的 n 和 m,然后检查它们是否为非负整数。如果有异常发生,则捕获并输出错误信息;否则调用 `combination(n, m)` 函数计算组合式的值,并输出结果。
示例输出:
```
请输入 n:5
请输入 m:2
C(5, 2) = 10
```
```
请输入 n:-1
请输入 m:2
错误:n 和 m 应该为非负整数
```
```
请输入 n:5
请输入 m:6
错误:n 应该大于等于 m
```
阅读全文
相关推荐














