3)
5.11函数综合案例通过\t制表符对齐输出nameNoneinput():可通过键盘录入内容def_query(show_header):通过参数控制内容的输出global 变量通过global在函数内部声明全局变量使可以在函数内部声明全局变量。continue结束本次循环#定义全局变量 nameNone money5000000 #输入姓名 nameinput(请输入你的姓名) #定义查询函数 def cha_xun(show): if show1: print(********查询余额*********) print(f{name},你当前的账户余额为{money}元) #定义存款函数 def cun_kuan(): print(**********存款************) num int(input(请输入存款金额)) global money moneynum print(f成功存入了{num}元) cha_xun(0) #定义取款函数 def qu_kuan(): print(*********取款**********) num int(input(请输入取款金额)) global money money-num print(f成功取款了{num}元) cha_xun(0) #定义主函数 def main(): print(*******主菜单**********) print(请选择你需要版办理的业务) print(查询余额\t请输入1) print(存款\t\t请输入2) print(取款\t\t请输入3) print(退出\t\t请输入4) #设置循环体 while True: main() xuanzeint(input(请输入)) if xuanze1: cha_xun(1) continue elif xuanze2: cun_kuan() continue elif xuanze3: qu_kuan() continue else: print(退出程序) break6.1数据容器入门python数据容器一种可以容纳多份数据的数据类型容纳的每一份数据称之为1个元素可以是任意类型的数据如字符串数字、字符。根据不同特点如是否支持重复元素、是否可以修改、是否有序等分为5类列表list、元组tuple、字符串str、集合set、字典dict。6.2列表的定义语法#字面量{元素1、元素2、元素3、。。。}#定义变量 变量名称[元素1元素2。。。]#定义空列表 变量名称[ ] 变量名称list()列表内的每一个数据称之为元素以【】作为标识符列表内每一个元素之间用逗号隔开。# print(hello world) name[fenyongfei,liweisheng,yujiayi] print(name) print(len(name)) print(name[0]) print(type(name))[fenyongfei, liweisheng, yujiayi]3fenyongfeiclass list定义语法{元素1元素2。。。}元素的数据类型没有任何限制甚至可以是列表这样就可以定义嵌套列表。6.3列表的下标索引从列表中国取出特定位置的数据name_list[-1];my_list[fengyongfei,chengguibo,lijianhua] print(my_list[0]) print(my_list[1]) print(my_list[-1])my_list[(1,2,3,4),(2,3,4,5)] print(my_list[1][1])列表的每个元素都有编号称为下标都有编号称为下标索引。从前往后方向编号从0开始递增从后往前的方向编号从-1开始递减。通过 列表[下标]即可取出。注意下标索引的取值范围超出范围无法取出元素并且会报错。6.4列表的操作方法概念函数是提供特定功能的代码单元。再python中将函数定义为clas类成员那么函数会称之为方法。函数和方法一样有传入阐述有返回值只是方法使用的格式不同函数的使用numadd(1,2)方法的使用studentStudent()numstuden.add(1,2)查找元素下标朝朝指定元素在列表下的下标如果找不到报错ValueError语法列表index元素mylist[zhuzhikun,qiurunping,zhangyeping] index mylist.index(zhangyeping) print(fzhangyeping在 列表中的下标是{index})修改特定位置元素的值列表[下标]赋值mylist[zhuzhikun,qiurunping,zhangyeping] # index mylist.index(zhangyeping) # print(fzhangyeping在 列表中的下标是{index}) mylist[1]大肥羊猪猪侠 print(mylist)插入元素列表。insert下标元素在指定的下标位置插入指定的元素。追加元素列表.append(元素追加一批元素列表.extend其他数据容器mylist.extend(mylist2)删除元素del列表[下标] 列表.pop(下标可以用元素接收删除某元素在列表中的第一个匹配项。语法列表.remove(元素统计某元素在列表内的数量列表.count(元素统计列表内有多少个元素len(列表求出列表内元素的数量清空列表功能mylist.clear()统计列表内某元素数量countmylist.count(itheima)统计列表中全部元素的数量countlen(mylist)不需要记忆随时查阅资料即可。列表的特点可以容纳多个元素2*63-1可以容纳不同类型元素数据是有序存储的允许重复数据存在可以修改增加或删除元素。6.5列表的常用操作mylist[21,25,21,23,22,20] print(mylist) mylist.append(31) print(mylist) nulist[29,33,30] print(nulist) mylist.extend(nulist) print(mylist) num1mylist[0] print(f{num1}) num2mylist[-1] print(num2) indexmylist.index(31) print(index)6.6列表的循环遍历index0while indexlen(列表元素列表[index]对元素进行处理index1mylist[传智教育,黑马程序员,python] index0 while indexlen(mylist): elementmylist[index] print(f元素的内容是{element}) index1for 临时变量 in 数据容器对临时变量进行处理for循环更简单while 循环更灵活for用于从容器内依次取出元素并处理while用以任何需要的循环场景mylist[1,2,3,4,5,6,7,8,9,10] count0 while count10: if mylist[count]%20: print(mylist[count]) count1 else: count1 for i in mylist: if i%20: print(i) ii1 else: ii16.7元组的定义和操作元组一旦定义完成就不可以修改。当时我们需要在程序内封装数据又不希望封装的数据被篡改那么元组就非常合适了。元组定义使用小括号且用逗号隔开数据可以是不同的数据类型#定义元组字面量元素元素。。。。。元素#定义元组变量变量名称元素元素。。。。。#定义空元组变量名称变量名称tuple()定义三个元素的元组t1(1,hello,true)注意元组只有一个数据这个数据后面要添加逗号index()查找某个数据并返回下下表否则爆粗偶。count 统计某个数据在当前元组出现的次数len(元组统计元组内的元素个数t6(传智教育,黑马程序员,python) indext6.index(黑马程序员) print(f黑马程序元的下标是{index}) t7(传智教育,黑马程序员,黑马程序员,黑马程序员) numt7.count(黑马程序员) print(f在元组中统计黑马程序员个数是{num}个) t8(传智教育,黑马程序员,黑马程序员,黑马程序员,pthon) numlen(t8) print(ft8元组中的元素有{num}个) index0 while indexlen(t8): print(f元组的元素有{t8[index]}) index1for element in t8: print(f2yuanzu的元素有{element})元组的元素不可以改变但是可以改变元组元素内部的内容。特点可以容纳多个数据可以容纳不懂类型的数据数据有序存储允许重复数据存在不可以修改增加或者删除元素支持for循环。6.7案例6.8字符串的定义和操作字符串是字符的容器一个字符串可以存放任意数量字符。从前向后下标从0开始。从后向前从-1开始。字符串的替换语法字符串.replace(字符串1字符串2功能将字符串内部的全部“字符串1”替换为“字符串2”注意不是修改字符串本身而是得到了一个新字符串哦字符串规整操作去前后空格语法字符串.strp()字符串规整操作去前后指定字符串语法字符串.strip(字符串字符串.index字符串查找匹配字符的第一个下标字符串.replace字符串1字符串2将字符串1替换为字符串2字符串.split(字符串对字符串进行分隔新得到一个列表字符串.strip(字符串)移除首位空格和换行符或指定字符串字符串.count(字符串统计字符串内某字符串出现的次数len(字符串统计字符串的字符个数字符串特点只可以存储字符串长度任意支持下标索引不可以修改增删。mystr itheima incast boxuegu print(mystr) countmystr.count(it) print(fit的个数是{count}) mystrmystr.replace( ,|) print(mystr) listmystr.split(|) print(list)6.10数据容器序列切片序列是内容连续、有序可以使用下标缩影的切片从一个序列中取出一个子序列语法序列[起始下标结束下标步长]步长为1一个个取元素result2my_tuple[ : ]#起始和结束不写表示从头到尾步长为1可以省略result3my_tupel[ : :-2]#从后往前倒叙为2取数mystr万过型月员序程马黑来nohtyp学 nuw1mystr[9:4:-1] print(nuw1)6.11序列的切片6.12set集合列表可以修改支持重复元素且有序元组、字符串不可 修改、支持重复元素且有序集合不支持元素重复列表使用[ ]元组使用字符串使用” 集合使用{}定义语法变量名称{元素元素 }由于元素无序所以不支持下标索引访问但允许修改。从集合中取出元素语法集合.pop()功能从集合中随机取出一个元素结果会得到一个元素的结果同时集合本身被修改元素被移除清空集合.clear.取出两个集合的差集语法集合3集合1.difference(集合2集合1和集合2内容不变消除差集合语法集合1.differnence_update(集合2集合1里面消除相同的元素两个集合合并将集合1和集合2合并新集合集合1.union(集合2)统计集合元素数量numlen(set1)my_list[黑马程序员,传智播客,黑马程序员,传智播客,itheima,itcast,itheima,itcast,best] mysetset() for elemen in my_list: myset.add(elemen) print(myset)6.13字典通过字找到其含义通过key(学生姓名取到对应的value(考试成绩字典使用{}不过存储的元素是一个个的键值对{key:value key:value ,key:value }my_dict{key:value,key:value, key:value}my_dict1{王力鸿:99,周结论:88,林俊杰:66} scoremy_dict1[王力鸿] print(f王力鸿的考试分数是{score})字典的嵌套字典的key和value可以是任意数据类型key不可为字典stu_score_dict{ 王力宏:{ 语文:22, 数学:88, 英语:99 },周杰伦:{ 语文:97, 数学:97, 英语:27 },林俊姐:{ 语文:87, 英语:98, 数学:93 } } print(stu_score_dict) scorestu_score_dict[周杰伦][英语] print(f周杰伦的英语趁机为{score})总结字典可以提供基于key检索value的场景实现就像查字典一样。语法my_dict{key:value,key:value, }注意键值对的key和value可以是任意类型。字典内的key不允许重复重复添加等于覆盖原有数据。字符吧索引不可用下标索引而是通过key检索value。6.16字典常用操作my_dict{周杰伦”22“林俊杰”99“张学良”22}新增元素my_dict[张信这“]66更新元素my_dict[周杰伦“]66删除元素scoremy_dict.pop(周杰伦“并且返回元素值清空元素my_dict.clear()获取全部的keykeysmy_dict.keys()for key in keys:print(key)支持for循环不支持while循环。6.16字典案例字典元素由逗号隔开。6.17数据容器对比列表、元组、字符串、集合、字典支持下标索引6.17数据容器的通用操作遍历都支持for循环遍历6.19字符串比较大小大小写英文字母、数字、特殊字符。用ASCII码记录字符串一位一位比较只要有一位大那么整体大。根据码值。7.1函数的多返回值7.2函数多种参数7.3函数作为参数传递