最新消息:网站支持在线创作,微信分享,请点击【创作中心】编辑作品。

python青少年编程第二季——18、图书管理系统

Python 少儿编程 515浏览 0评论
python青少年编程第二季01

各位小伙伴大家好:

本期我们将对第二季学过的知识做一个总结性的项目——图书管理系统函数版。

 

这个项目不涉及数据库的使用,只要一关掉窗口所有的数据就会删除,所以只能说是一个模拟的图书管理系统,但用来复习面向过程编程的知识已经足够了。

 

总的效果如图:

python青少年编程第二季——18、图书管理系统

 

下面为大家简单分析一下这个系统:

1、系统操作提示信息:我们用print()函数把信息作为字符串输出到屏幕。

 

python青少年编程第二季——18、图书管理系统

 

我们把实现提示信息的代码,写到一个函数里面,这样代码看起来会比较整洁,在使用的时候只需要调用一下函数就行了。

 

python青少年编程第二季——18、图书管理系统

 

显示完头部提示信息,我们下面着手实现系统的具体功能。

 

2、第一个功能是添加图书,每本图书我们需要有从用户获取三个信息,分别是书名,作者和价格。和打印头部提示信息一样,我们定义一个函数来实现这个功能。

 

python青少年编程第二季——18、图书管理系统

 

实现增加图书功能的思路是:把每一本图书的信息的存放到一个字典里面,然后再把每个字典存放到列表中。

所以我们先要建立一个空的列表用于存放字典。

 

python青少年编程第二季——18、图书管理系统

 

至于下面三个变量,是后面我们在查询和显示的时候为了字符串的格式化所创建的。当然它的命名并不规范,大家将就着看一下吧。

 

写完新增图书我们来看一下效果:

python青少年编程第二季——18、图书管理系统

运行正常,上面的代码调用了addbook(),所以程序会直接进入图书新增,提示我们输入书名、作者和价格。

3、写完新增图书功能,下面我们来继续写图书查找功能。

 

实现图书查找功能我们的思路是:因为每一本图书都对应列表中的一个元素,每个元素都是一个字典。

 

所以要查找图书,我们首先就要去遍历列表中的元素,然后根据每个元素(字典)的name键的值来匹配书名。

 

python青少年编程第二季——18、图书管理系统

find_book()函数的第一步是获取需要查找的书名,然后是遍历列表中的每一个字典,并通过键来访问每个字典中的书名的值。

接下来再和我们输入的书名进行比对,如果相等则打印出整个字典。

 

打印语句中我们用到了字符串的格式化,不记得的小伙伴可以复习一下前面的内容。

运行效果如图:

python青少年编程第二季——18、图书管理系统

注意:查找的是时候我们需要先新增图书

 

4、写完查找功能我们继续来写删除功能,要实现删除功能我们需要先实现查找。因为要删除图书首先需要找到相应图书然后才能删除。

 

python青少年编程第二季——18、图书管理系统

这里代码的前半部分,和查找的代码一样。在找到相应图书之后,我们使用了列表中的remove()函数删除相应元素(字典)。这里就不给大家演示了。

5、我们继续往下写修改功能:

写修改功能也是一样需要先查找到相应的图书然后再修改:

 

python青少年编程第二季——18、图书管理系统

查到之后我们打印出来图书信息,然后我们通过修改字典的键所对应的值来修改图书信息。

运行效果:

python青少年编程第二季——18、图书管理系统

运行正常,修改成功。

6、接下来是一个显示所有图书的功能,代码比较简单,如下图:

python青少年编程第二季——18、图书管理系统

 

7、最后还有退出系统功能,这个不能需要专门的函数来实现。我们把它写入主函数中。

主函数是整个系统运行最先执行的代码,并且在其中实现菜单的选择功能。

 

完整代码如下:

python青少年编程第二季——18、图书管理系统

到目前为止我们的图书管理系统就全部写完了,说的比较简单,也没有一步一步给大家分析代码,希望大家去自己分析琢磨,动手操作。

 

另外在运行中,还发现了一个bug。上面的主函数中,在函数开始的时候需要我们输入数字进入对应的功能函数中。

 

但是如果我们输入的不是数字而是字符串,结果就会像下面这样发生异常,从而导致系统的崩溃。

 

python青少年编程第二季——18、图书管理系统

而解决的方法是我们前面没有讲过的异常的处理。

 

代码如下:

python青少年编程第二季——18、图书管理系统

 

关于异常的处理这里不做过多讲解,我们到后续第三季的课程再为大家分享。

 

运行效果如下:

python青少年编程第二季——18、图书管理系统

当我们输入不合法的时候,跳出警告,而不是让系统崩溃。

 

本期就为大家分享到这里,内容有点多包含一个完整的项目。所以需要大家花一点时间去消化吸收。

 

当然我们目前的目标不是让大家能够独立开发系统,而是只要能够看得懂就已经很好了。

完整的代码有点长,截图不方便,欢迎大家加入微信群或者加我微信获取,我们下季再会。

python青少年编程第二季——18、图书管理系统

转自公众号:
高维数学

您必须 登录 才能发表评论!