编写计算组合数的程序。要求输入数据要有容错功能。 **输入格式要求:"%d,%d" 提示信息:"Input m,k (m>=k>0):" **输出格式要求:"p = %.0f\n" 程序运行示例1如下: Input m,k (m>=k>0):3,2 p = 3 程序运行示例2如下: Input m,k (m>=k>0):2,3 Input m,k (m>=k>0):3,3 p = 1 Input m,k (m>=k>0):-2,-4 Input m,k (m>=k>0):4,2 p = 6
时间: 2023-12-24 11:05:44 浏览: 68
以下是一个实现了输入容错功能的计算组合数的程序:
```python
import math
def combination(m, k):
if m < k or m < 0 or k < 0:
return None
else:
return math.factorial(m) / (math.factorial(k) * math.factorial(m - k))
while True:
try:
m, k = map(int, input("Input m,k (m>=k>0):").split(","))
p = combination(m, k)
if p is None:
raise ValueError
else:
print("p = %.0f" % p)
break
except:
print("Invalid input, please try again.")
```
程序运行示例如下:
```
Input m,k (m>=k>0):3,2
p = 3
```
```
Input m,k (m>=k>0):2,3
Invalid input, please try again.
Input m,k (m>=k>0):3,3
p = 1
```
```
Input m,k (m>=k>0):-2,-4
Invalid input, please try again.
Input m,k (m>=k>0):4,2
p = 6
```
阅读全文