重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
给你两个函数:
成都创新互联主营大邑县网站建设的网络公司,主营网站建设方案,app开发定制,大邑县h5微信小程序开发搭建,大邑县网站营销推广欢迎大邑县等地区企业咨询
## 插入排序
def insertion_sort(sort_list):
iter_len = len(sort_list)
if iter_len 2:
return sort_list
for i in range(1, iter_len):
key = sort_list[i]
j = i - 1
while j=0 and sort_list[j]key:
sort_list[j+1] = sort_list[j]
j -= 1
sort_list[j+1] = key
return sort_list
## 计算两点之间的距离
def GetDistance(fPoint1,fPoint2):
x1=fPoint1.X
y1=fPoint1.Y
x2=fPoint2.X
y2=fPoint2.Y
return pow((x1-x2),2)+pow((y1-y2),2)
1、函数定义
①使用def关键字定义函数
②
def 函数名(参数1.参数2.参数3...):
"""文档字符串,docstring,用来说明函数的作用"""
#函数体
return 表达式
注释的作用:说明函数是做什么的,函数有什么功能。
③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么。Python函数的本质与数学中的函数的本质是一致的。
2、函数调用
①函数必须先定义,才能调用,否则会报错。
②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)
③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用。
④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的。
⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数。
是说这个报错了对吧。。主要在于代码的缩进问题严重。首先要有一致的缩进,可以是2个空格,4个空格,或者1个tab,但是一定要一致。。
def solve(legs, heads):
for numc is range(0, heads+1):
nump = heads - numc
totlegs = 4 * nump + 2 * numc
if totlegs == legs:
return (nump, numc)
return (None, None)
这里我全部采用的是两个空格的缩进。
Python 有很多有用的内置函数, 但还是不能满足程序员的需求, 所以需要 自定义函数 。
如何编写 自定义函数 , 需要用到 def语句, 函数名, 括号及参数, 冒号, 函数说明,内置缩进编码模块,return 语句 , 其中有一些也可省略不写,后面会慢慢介绍。
编写函数不可或缺的元素, 一定都要写。函数名尽量写得简单易懂。
一般是对函数的描述说明。
这是编写具体的 操作命令 的地方, 如果还未想好如何编写, 可以使用 pass 来占位,让程序可以运行起来,防止调试出错。
参数放在最后讲, 是因为这里面的东西还是很多的。首先看个例子。
如上的案例都是限制了参数个数的, 最多传三个参数 name/age/city , 但是如果有一些特例,需要传多个参数怎么办呢。 参数前面加个 * , 变成 可变参数 。
那如果想要传多个包含名称的参数,例如a=1,b=2,c=3......,那该怎么写呢。参数前面加个 ** , 变成 关键字参数 。
定义:
def 函数名(形参1,形参2='初始定义的内容'):
函数中执行的内容
调用:
函数名(实参1)或函数名(形参2=实参2,形参1=实参1)或函数名(实参1,实参2)
params
就是(5, 5)
(5,) * 2 ,就是2个5的元组,乘号可以理解成相加。"*" * 30就是30个“*"的字符串
*params作为参数,前面的*号就是把params元组分解成元素的意思,这样就分开成为2个参数了。实际上传递给了x,y
于是就执行了power(5,5)