# 函数作用
# 1.结构化编程对代码的最基本的封装,一般按照功能组织一段代码
# 2.封装的目的为了复用,减少代码
# 3.代码更加美观,可读易懂
# 函数分类:
# 1.内建函数,如max(),reversed()等
# 2.库函数,如math.ceil()等
# 3.自定义函数,使用def关键字定义
# 函数定义:
# 1.函数名就是标识符,命名要求一样
# 2.语句块必须缩进,约定4个空格
# 3.Python的函数若没有return语句,会隐式返回一个None值
# 4.定义中的参数列表称为形式参数,只是一种符号表达(标识符),简称形参
函数习题练习:
1.编写一个函数,能够接受至少2个参数,返回最小值和最大值
#版本一:
def get(x,y,*args):
return min(x,y,*args),mix(x,y,*args)
get(12,34,`2,55) # 函数调用
#优化版本一:
def get(x,y,*args):
mx =min(*args),ms=max(*args)
return min(x,y,mx),max(x,y,ms)
get(12,34,`2,55) # 函数调用
#版本二:
def get(x,y,*args):
min_,*_,max_=sorted((x,y,*args))
return min,max
get(12,34,`2,55) # 函数调用
#版本三:
# 一次性遍历,不能依赖内建函数
def get(x,y,*args):
min_,max_=(x,y) if x<y else (y,x)
for i in args:
if i>max:
max_=i
if i<min
min_=i
return min_,max_
get(12,34,`2,55) # 函数调用
2.完成一个函数,可以接受输入的多个数(命令行输入,数字间隔可以使用空格或逗号),每一次都能返回到目前为止的最大值,最小值。
def double_values()
ms=mx=None
while True:
x=input('>>>').strip() # strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符列
if x==' ' or x=='quit':
break
nums=[int(i) for i in x.replace(',',' ').split()]
if nums:
if ms is None:
ms=mx=nums[0]
a,b=min(nums),max(nums)
if b>mx:
mx=b
if a<ms:
ms=a
print(ms,mx)
double_values()
这两道题是对函数的练习非常有用,大家去看看,慢慢分析。
如有错误,希望大家指出来。