《人工智能技术应用(第三版)》课件 2.3 图书管理系统_第1页
《人工智能技术应用(第三版)》课件 2.3 图书管理系统_第2页
《人工智能技术应用(第三版)》课件 2.3 图书管理系统_第3页
《人工智能技术应用(第三版)》课件 2.3 图书管理系统_第4页
《人工智能技术应用(第三版)》课件 2.3 图书管理系统_第5页
已阅读5页,还剩29页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章初识Python2.3图书管理系统《人工智能技术应用》(第3版)目录01|场景导入02|知识小百科03|AI实验室04|分享评价猜数字游戏准备写毕业论文的小明来到学校图书馆,打算在自助借书系统借几本专业参考书。看着图书馆熙熙攘攘的同学,小明开始思考:学校图书馆容量大,书籍种类也多,每天同学们借的书籍都不一定相同,作为图书馆管理员,面对众多的书籍和学生借阅信息,该如何管理的呢?小明决定利用自己的专业知识来设计一个图书管理系统。学习目标活动目标:学习列表的基本操作学习字典的基本操作了解元组及元组与列表的相互转换完成图书管理系统的设计(一)列表图书管理信息系统中,我们需要对数据进行批量处理,如众多的图书信息、学生借阅信息等,如何存储和组织这些数据呢?这就用到Python的列表和字典了。列表用[]表示,在列表中可以集中存放多个数据,并且数据类型不必统一。列表中的数据称为列表的元素,每个元素之间用逗号“,”间隔。格式:element1,element2,...,elementn列表中同时包含字符串、整数、列表、浮点数这些数据类型。特别说明:通常情况下,列表中只放入同一类型的数据,这样可以提高程序的可读性。例如:num=[1,2,3,4,5,6,7]

name=['武汉软件工程职业学院','']

program=['C语言','Python','Java']创建一个列表在Python中创建列表时,也可以使用赋值运算符“=”直接将一个列表赋值给变量,其语法格式如下:listname=[element1,element2,element3,...,elementn]其中,listname表示列表的名称,必须符合Python命名规范,也必须避开与Python的内置函数重名。例如,下面定义的列表都是合法的:num=[1,2,3,4,5,6,7]

name=['武汉软件工程职业学院','']

program=['C语言','Python','Java']另外,使用此方式创建列表时,列表中元素可以有多个,也可以一个都没有,例如:emptylist=[]从列表提取单个元素列表中每个元素都分配一个数字,即它的位置或索引,第一个索引是0,第二个索引是1,以此类推。例如,获取name列表中索引值为1的元素:name=['武汉软件工程职业学院','']

print(name[1])

运行结果:特别说明:索引值是从0开始的,而非我们习惯的从1开始;列表名后加带索引值的中括号,就能取到相应位置的元素。从列表提取多个元素如果要同时取好几个元素呢?所以接着学习如何从列表中取出多个元素。在Python中处理列表的部分元素称为切片操作。运行结果:['Baidu','Tencent']即:输出的列表中1≤索引值<3的元素(子列表)有关列表的切片操作其他用法,感兴趣的同学可以参考Python资料学习。4、列表添加/删除元素(1)列表添加元素

在创建好的列表之后,还可以使用append()函数来添加元素。

students=['小明','小红','小刚']

students.append('小美')

print(students)

运行结果:['小明','小红','小刚','小美']append()函数每次只能给列表增加一个元素,放在列表的最后面。列表删除元素如果我们想在以下四个元素中删除小红的名字,试试下面代码:del语句是根据元素的索引来删除的,不返回到删除值。使用del既能删除一个元素,也能一次删除多个元素(原理和切片类似,左取右不取)。当元素删除之后,位于它后面的元素会自动移动填补空出来的位置。元组元组和列表类似,最大的区别在于元组中的元素不能修改。tup=(Baidu,Tencent,Taobao,Google)元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。tuo=(50,)例如:t=(1,)#这是元组,不是整数元组1、转换列表为元组#创建一个0-4的列表a=[0,1,2,3,4]#将列表转换为元组b=tuple(a)print(b)运行结果:(0,1,2,3,4)元组2、元组转换为列表

list()函数可以将元组转换为列表,例如:c=('app',20,-1.2)#将元组转换成列表d=list(c)print(d)此程序的功能是将一个元组('app',20,-1.2)转换为列表。元组3、for-in循环遍历列表、元组

专门用于遍历范围,列表,元组和字典等可迭代对象包含的元素。list=[Python,c++,Java]forxinlist:print(x)运行结果:Pythonc++Java

字典字典是一种无序的、可变的、键值对形式的数据结构。相互对应的关系,即通过一个元素,可以唯一找到另一个元素。如图所示:映射关系示意图创建字典字典中每个元素都包含键和值两部分,在创建字典时,键和值之间使用冒号分隔,相邻元素之间使用逗号分隔,所有元素放在大括号{}中。Python字典类型的语法格式如下:dictname={key1:value1,key2:value2,...,keyn:valuen}其中,dictname表示字典类型名,keyn:valuen表示各个元素的键值对。创建一个字典如下所示:pythonscores={小明:95,小红:90,小刚:90}可知以上字典有3个键值对:小明:95,小红:90,小刚:90,用英文冒号连接。如小明:95,其中,把小明叫键,95叫值。需要注意的是,同一字典中各个元素的键必须唯一。创建字典scores={语文:89,数学:92,英语:93}print(scores)#空的大括号代表空的dictempty_dict={}print(empty_dict)#使用元组作为dict的键dict2={(20,30):good,30:[1,2,3]}print(dict2)运行结果:{语文:89,数学:92,英语:93}{}{(20,30):good,30:[1,2,3]}可以看到,同一字典中,键可以是整数、字符串或者元组,只要符合唯一和不可变的特性就可以;对应的值可以是Python支持的任意数据类型。访问字典

因为字典中元素是无序的,所以不能像列表、元组那样进行访问,字典通过键而不是通过索引来访问对应的元素值,不能采用切片的方式一次性访问多个元素。(1)用键访问字典中的元素例如,如果想访问字典,将小明的成绩从字典里输出,代码如下scores={小明:95,小红:90,小刚:90}print(scores[小明])运行结果:95这便是从字典中提取对应的值的方法。在中括号中应该写键的名称,即:字典名[键],通过键来访问对应的元素。访问字典在使用此方法获取指定键的值时,如果键不存在,则会抛出异常,示例如下:scores={小明:95,小红:90,小刚:90}print(scores[小花])运行结果:print(scores[小花])KeyError:小花用get()函数访问字典的元素Python更推荐使用字典类型提供的get()函数获取指定键的值。get()函数的语法格式如下:dict.get(key[,default])其中,dict指的是所创建字典的名称;key表示指定的键;default用于指定要查询的键不存在时返回的默认值,如果不手动指定,会返回None。scores={小明:95,小红:90,小刚:90}print(scores.get(小明))运行结果:95用get()函数访问字典的元素为了防止在获取指定键的值时,因不存在该键而导致抛出异常,在使用get()函数时,可以为其设置默认值,设置后,即便指定的键不存在,也不会报错。示例代码如下:scores={小明:95,小红:90,小刚:90}print(scores.get(小美,字典中无此键))运行结果:字典中无此键添加/删除字典元素向字典添加元素可通过语句“字典名[键]=值”来操作。删除字典元素用del语句“del字典名[键]”,示例代码如下:scores={小明:95,小红:90,小刚:95}delscores[小刚]scores[小刚]=92scores[小美]=85print(scores)运行结果:{小明:95,小红:90,小刚:92,小美:85}从运行结果可以看到:删除了小刚之前的95,修改为92,添加了元素小美的85。任务发布与任务环境(一)任务发布用Python设计图书管理系统:1.设计登录界面2.完成管理员注册3.登录系统,更新系统

(二)任务环境

本任务软件环境需要配置好python3.x语言环境,并安装有相应的编程集成开发环境,本书使用VScode集成开发环境。系统流程图1.绘制程序流程图系统流程图图书管理员程序实现管理员注册与登录管理员注册与登录管理员登录与菜单管理员登录与菜单学生信息管理Python代码如下图书管理代码分享评价1、简

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论