2019.08.15
函数和模块的使用
引用题:
说出下面的方程有多少组正整数解
x_1 + x_2 + x_3 + x_4 = 8
事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。
C
M
N
=
M
!
N
!
(
M
−
N
)
!
,
(M=7, N=3)
C_M^N =\frac{M!}{N!(M-N)!}, \text{(M=7, N=3)}
CMN=N!(M−N)!M!,(M=7, N=3)
一、定义函数
关键字 def
返回关键字 return
格式
#声明 函数名字 (参数)
def func_name([params]):
执行体
return xxx
调用:
defineName([params])
#引用题
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)
(base) C:\Users\Administrator>F:/install/Anaconda/python.exe d:/VScode/Untitled-Tue2.py
m = 7
n = 3
35
1.add函数
def add (args):
执行体
…
在参数名前面的表示args是一个可变参数(不定长参数)
即在调用add函数时可以传入0个或多个参数
二、用模块管理函数
我们在不同的模块中可以有同名的函数,在使用函数的时候我们通过import关键字导入指定的模块就可以区分到底要使用的是哪个模块中的foo函数,代码如下所示:
module1.py
def foo():
print('hello, world!')
module2.py
def foo():
print('goodbye, world!')
test.py
from module1 import foo
# 输出hello, world!
foo()
练习1 将登陆账号程序改为函数形式
练习2 偷偷加回微信好友