我就想算C(m,n)的排列组合数,用Python怎么写?

这是部分网络信息,太乱,不能看

import math
 
s =0
p = input()
l = input()

print(math)


from itertools import combinations, permutations
# 列举排列结果[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
print(list(permutations([i for i in range(1,4)],2)))
#列举组合结果[(1, 2), (1, 3), (2, 3)]
print(list(combinations([1,2,3],2)))

import math
def factorial_me(n):
    '''建立求阶乘的函数'''
    result = 1
    for i in range(2, n + 1):
        result = result * i
    return result
def comb_1(n,m):
    # 直接使用math里的阶乘函数计算组合数
    return math.factorial(n)//(math.factorial(n-m)*math.factorial(m))
def comb_2(n,m):
    # 使用自己的阶乘函数计算组合数
    return factorial_me(n)//(factorial_me(n-m)*factorial_me(m))
def perm_1(n,m):
    # 直接使用math里的阶乘函数计算排列数
    return math.factorial(n)//math.factorial(n-m)
def perm_2(n,m):
    # 使用自己的阶乘函数计算排列数
    return factorial_me(n)//factorial_me(n-m)

if __name__ == '__main__':
    print(factorial_me(6))
    print(comb_1(45,2))
    print(comb_2(45,2))
    print(perm_1(45,2))
    print(perm_2(45,2))

C(m,n)=,用Python怎么写

>>> def C(n,m):
    from math import factorial as f
    return round(f(m)/f(n)/f(m-n))

>>> C(3,10)
120
>>> C(7,10)
120
>>> C(5,10)
252
>>> C(1,10)
10
>>> C(2,10)
45

如果你只是要算数量,那根本不需要itertools ,直接套公式就行了
itertools 是用来列出所有的排列组合方式的
你想用这个来算数量,那就列好再sum一下
就是这样
sum(list(combinations([1,2,3],2)))
此外,你所有的公式里为什么只用到了n,m让你弄哪去了,m传递进去了但是没有用,那计算结果能对吗

这篇文章讲的很详细,请看:Python实现排列组合C(n,m) 和 A(n,m)