程序1:税务计算
程序2:猜数字游戏
程序3:使用函数,将前四个小程序合成有4个功能的函数。
程序4:学员管理系统V1.0
程序5:学员管理系统V2.0
1、函数:函数就是将一段代码写在一起,如果需要使用,直接调用即可。
# 就是封装一段功能代码的代码块,这段代码可以被多次使用
# def define:定义
# 函数名称命名规范: 单词全部小写,多个单词之间用_下划线连接,函数名要和实现的功能有关系,做到见名知意
# def 函数名(参数列表):
# 函数功能代码
例如:def eat():
print('先去买菜')
print('洗菜')
print('切菜')
# 函数想要执行,必须要调用
eat()
# 带有1个参数的函数,多个参数之间用,逗号隔开即可
参数:执行函数所需要的一些数据
#例如:去商店买水,买水就可以看做是一个功能函数
参数的第一种类型:必要参数,必须要传递的参数,如果参数缺少会出错。
例如:def buy_water(money, name):
print('你给了%s块钱,你要买%s'%(money, name))
# 调用带有的1个参数的函数,这种形式参数一定要按顺序写
例如:buy_water(10, '农夫山泉')
# 关键字参数(调用时把参数写成 参数名=参数值 的形式)这样就不必按照参数定义时顺序进行传递了
例如: buy_water(name='农夫山泉', money=10)
参数的第二种类型: 缺省参数。参数不是必须要传递的,参数会有一个默认值,如果调用时没有传递该参数,那么参数就是默认值,如果传递过来了,参数就是传递过来的这个值
例如: def sleep(time=0):
print('你睡了%s小时'%time)
# 传递参数 time变成20
sleep(20)
# 不传递参数 time就是默认值0
sleep()
2、含有continue或者break的代码块如何处理使用函数封装:
可以使用return返回值,返回True或者False,使用一个参数接收返回值,再进行if判断。在调用函数时,需要接收返回值再进行判断。
例如:
def sel():
sel_num = input('是否继续查询y(是)/n(否):')if sel_num == 'y':
return True
else:
return False
while True:
salary=input('请输入您的工资:')salary=float(salary)if salary<7662:
wxyj=salary*0.225
else:
wxyj=7662*0.225
#计算应纳所得税ynsds=salary-wxyj-3500jtsl=0sskcs=0if ynsds<=0:print('您不用交税,您的工资金额为:%s'%salary)#调用是否继续操作的函数a = sel()if a==True:
continue
else:
break
3、注意回想今天看的python教程中关于Unicode和UTF-8编码的问题。
4、range()实现在一定范围内,但是只包括开头的数字不包括结尾数字。
5、列表:(好比其他编程语言中的序列和数组)
& 容器类型,一般都是用来存储数据& 列表,可以用来存储各种各样的数据,列表中存储数据是有序的& 列表中的每一条数据,都有一个索引,第一条数据的索引为0,第二条数据的索引为1,以此类推..
例如:list_1 = [1, 2, 'hello', False, 3.14, 'world']
& index()函数,可以根据数据,查找数据的索引,如果数据不在列表中(或者不在指定范围内),会出现异常错误:其中3个参数:1.数据 2.开始搜索的位置 3.结束搜索的位置
例如:在索引为0-8的范围内查找oppo元素的索引(包括索引为0 的元素, 但是不包括索引号为8的元素)
index = list_1.index('oppo',0,8)
5.1 向列表中添加数据:
法1:
使用append(object)函数,向列表中追加数据,会把添加的数据放在列表中最后一个位置。
# object :对象,要添加到列表中的数据
例如:list_1.append(
'2018-1-23'
)
法2: 使用insert(index,object)函数,向列表中指定位置插入一条数据。
index 索引(如果超出最大索引,会将数据放在最后) object要插入的数据。
如果index索引为负值,位置会从后向前查找,最后一条数据索引为-1。
例如: list_1.insert(-1, 'oppo')
法3:使用extend()函数,可以将另一个列表中的数据添加到该列表中
例如: list_2 = [
'a'
,
's'
,
'd'
,
'f'
]
list_1.extend(list_2)
5.2 修改列表中元素: 根据索引修改数据。
例1:将索引为index的元素修改为 vivo,
list_1[index]='vivo'
例2:如果要通过元素值修改的内容,需要先获取该元素值的索引号,再进行修改。
(将列表list_1中的元素Apple改为Banana)
index=list_1.ijndex('Apple')
list_1[index]='Banana'
5.3 删除列表中元素:
法1:del 根据索引删除元素。delete:删除
例如:删除索引为4的元素:del list_1[4]
法2:remove()函数 根据数据内容删除。
例如:移除list_1中的vivo元素 list_1.remove('vivo')
法3:pop()函数移出(不是移除)列表中指定索引的数据。可以取出,同时从列表中删除。
例如:s=list_1.pop(2)
法4:clear()函数清除列表中的所有数据 。
例如:list_1.clear()
5.4 列表的切片:[开始位置:结束位置] 包含开始的位置,不包含结束的位置,切片以后返回的是一个新的列表。
注意:开始位置一定要小于结束位置,否则会出现结果为空列表的情况。(索引号为负值时也遵循这一原则。)
例1:从序列号为2的元素,截到序列号为4-1=3 的元素。result=list_1[2:4] result=list_1[-5,-1]
例2:[:结束位置] 从第0个位置开始切片,一直到结束位置(不包含结束位置)result=list_1[:5]
例3:[开始位置:]从开始位置开始切片,直到列表最后一个元素。 result=list_1[3:]
5.5 遍历列表:(len()函数获取列表中存放元素的个数)
例如:把x的值作为索引,取出列表list_1中的数据:
for x in range(0,len(list_1)):
s=list_1[x]
print (s)
泛型遍历: for s in list_1:
print (s)
5.6 列表中元素的排序: sort()排序函数,默认使用升序排序(reverse=False)。reverse参数为True时,按照降序排序。单使用reverse()函数实现列表的反向排序。
例如:
list_3 = [
8
,
45
,
22
,
35
,
1
,
67
,
3
,
15
,
7
,
98.5
,
33.41
,
1
,
1
,
1
,
1
,
1
,
1
,
1
]
list_3.sort(
) #升序排列
print
(list_3)
输出:[1, 1, 1, 1, 1, 1, 1, 1, 3, 7, 8, 15, 22, 33.41, 35, 45, 67, 98.5]
list_3.sort(reverse=True) #降序排列
print (list_3)
输出:[98.5, 67, 45, 35, 33.41, 22, 15, 8, 7, 3, 1, 1, 1, 1, 1, 1, 1, 1]
list_3.reverse() #降序排列的反向排列
print (list_3)
输出:[1, 1, 1, 1, 1, 1, 1, 1, 3, 7, 8, 15, 22, 33.41, 35, 45, 67, 98.5]
5.7 count()函数,统计某条数据在列表中出现的次数。
例如:count=list_3.count(1)
print(count) 输出:8