def combinations(a, b): #从n个数中选出m个数
res = 1
for i in range(a):
res *= b / a
b -= 1
a -= 1
#for 循环实现的是b*(b-1)*(b-2)········*(b-a+1) / a*(a-1)*(a-2)*(a-3)········*1,这个式子也就是从n个数中选出m个数的值(即方案数)
return res #输出结果
在这里给出的组合数的数学知识点只是为了蓝桥杯python组真题杨辉三角形做铺垫,因为直接写杨辉三角形的解答,很有可能会蒙在组合数这个自定义函数中,所以我先把组合数的数学知识点写出来,适合大家更好的理解杨辉三角形这道题的代码解法。
而如果像其它求排列组合的题中,最好的方法还是用python内置函数,itertools函数库中的combinations组合函数,和permutations排列函数,输出的是所有符合条件的答案,对其进行len函数就可以求所有组合数的方案数了。