在之前的推文中,我们学习了python中函数的定义与调用的基本知识。那么今天,我们通过一些例子的练习,来加深对函数使用的认识。
例子1:求平均数
def ave(lis):
va = sum(lis)/len(lis)
return va
l = [10,50,20,60,50]
re = ave(l)
print(re)
##之后只需要更改l里面的值,即可直接调用函数ave进行求解,非常方便
其结果如下图所示:
例子2 将身份证号中的年月日提取出来
id = '410885158005684589'
def datas(id,dis):
l = [id[x:y] for x,y in ((6,10),(10,12),(12,14))]
data = dis.join(l)
return data
result = datas(id,'-')
print(result)
其结果如下所示:
已知excel中保存了7为同学的身份证号,那么读取他们的生日并写入到日期一列中。
import xlrd
from xlutils.copy import copy
def datas(id,dis):
l = [id[x:y] for x,y in ((6,10),(10,12),(12,14))]
data = dis.join(l)
return data
t = xlrd.open_workbook('年份.xls')
sheet = t.sheet_by_index(0)
nwb = copy(t)
nws = nwb.get_sheet(0)
row = sheet.nrows
row = row - 1
n = 0
content1 = []
while n < row :
n += 1
content = sheet.cell_value(n,1)
x = datas(content,'-')
content1.append(x)
nws.write(n,2,content1[n-1])
nwb.save('年份.xls')
其结果如下:
我们可以看到,数据被写入到了相应的单元格中。从这个例子中,我们可以学习到两个知识点,分别为:
(1)使用xlutils库中的copy模块,直接直接将数据保存在所打开的xls文件中,而不需要使用xlwt来重新打开文件输入
(2)我们定义好一个函数,在有需要时直接调用即可,省去了核心代码区过多的代码而导致错误的问题。