事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。
m=int(input('m ='))
n = int(input('n = '))
fm = 1
for num in range(1, m + 1):
fm *= num
fn = 1 for num in range(1, n + 1): fn *= num fmn = 1 for num in range(1, m - n + 1): fmn *= num print(fm // fn // fmn)
代码用函数重构:
函数的参数
用模块管理函数
我们导入的模块除了定义函数之外还中有可以执行代码,只有直接执行的模块的名字才是“__main__”。
减少全局变量的使用就意味着我们应该尽量让变量的作用域在函数的内部,但是如果我们希望将一个局部变量的生命周期延长,使其在函数调用结束后依然可以访问,这时候就需要使用闭包,这个我们在后续的内容中进行讲解。