如何在python中执行nCr?举例说明



我正在尝试创建一个使用一组人(8人(的操作列表,

actions = [
('take one soldier off duty', n, 200),
('take two soldiers off duty', nC2, 200)
('take three soldiers off duty', nC3, 200)
('replace soldier', n, 200)
]

我知道我可以用手写出所有不同的动作。例如

actions = [
('take one soldier off duty', 0, 200),
('take one soldier off duty', 1, 200),
('take one soldier off duty', 2, 200),
('take one soldier off duty', 3, 200),
('take one soldier off duty', 4, 200),
('take one soldier off duty', 5, 200),
('take one soldier off duty', 6, 200),
('take one soldier off duty', 7, 200),
]

我只是想更有效地做到这一点/看起来更好,这样它就不仅仅是一个相同的条形数字的庞大列表了——任何帮助都会很棒!

非常感谢!

使用itertools模块中的combinations函数。生成一个组合,然后将结果转换为列表并打印。

完整代码:

from itertools import combinations
r =int(input())
comb = combinations(range(1, 200), r)
comb = list(comb)
# print(*comb)
for c in comb:
print(c)

最新更新