parent
558049fd0d
commit
02a5c088a8
|
@ -1,13 +1,17 @@
|
|||
## 第13课:函数和模块
|
||||
|
||||
在讲解本节课的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。
|
||||
|
||||
$$
|
||||
x_1 + x_2 + x_3 + x_4 = 8
|
||||
$$
|
||||
|
||||
你可能已经想到了,这个问题其实等同于将`8`个苹果分成四组且每组至少一个苹果有多少种方案,因此该问题还可以进一步等价于在分隔`8`个苹果的`7`个空隙之间插入三个隔板将苹果分成四组有多少种方案,也就是从`7`个空隙选出`3`个空隙放入隔板的组合数,所以答案是$ C_7^3=35 $。组合数的计算公式如下所示。
|
||||
|
||||
$$
|
||||
C_M^N = \frac {M!} {N!(M-N)!}
|
||||
$$
|
||||
|
||||
根据我们前面学习的知识,可以用循环做累乘的方式来计算阶乘,那么通过下面的Python代码我们就可以计算出组合数$ C_M^N $的值,代码如下所示。
|
||||
|
||||
```Python
|
||||
|
@ -279,4 +283,4 @@ Python标准库中还有一类函数是不需要`import`就能够直接使用的
|
|||
|
||||
### 简单的总结
|
||||
|
||||
**函数是对功能相对独立且会重复使用的代码的封装**。学会使用定义和使用函数,就能够写出更为优质的代码。当然,Python语言的标准库中已经为我们提供了大量的模块和常用的函数,用好这些模块和函数就能够用更少的代码做更多的事情;如果这些模块和函数不能满足我们的要求,我们就需要自定义函数,然后用模块的概念来管理这些自定义函数。
|
||||
**函数是对功能相对独立且会重复使用的代码的封装**。学会使用定义和使用函数,就能够写出更为优质的代码。当然,Python语言的标准库中已经为我们提供了大量的模块和常用的函数,用好这些模块和函数就能够用更少的代码做更多的事情;如果这些模块和函数不能满足我们的要求,我们就需要自定义函数,然后用模块的概念来管理这些自定义函数。
|
||||
|
|
Loading…
Reference in New Issue