Python新手速学教程 第9课:用列表做图书管理借书系统2

知识点及目录

  1. 从列表删除的补充说明
  2. 向列表增加元素
  3. 判断字符串是否为数字
  4. 条件语句if补充说明
  5. 统计字符串列表元素数量
  6. 从列表删除的另一种写法
  7. 图书管理系统借书功能的源代码

说明

昨天把python图书管理系统借书功能讲了,目的是学习python中列表的定义、删除等知识。

Python新手速学教程 第8课:用列表做图书管理借书系统1

今天我们继续将图书管理系统的还书功能做完,本节关于python的知识点比较多,希望你能看到最后

一 图书管理系统 借书功能完善

做还书功能之前,我们先将借书的功能完善一下,完善什么?
在这里,强调一个python速学的习惯,就是

模拟程序运行的整个流程,
先做好大框架,再完善细节、排除bug

在上一节的借书功能部分,刻意的少了一个功能:

记录用户已经借了哪些书?

这是为了讲

python列表 增加元素

首先,我们先定义一个用于保存用户借书记录的空列表*

list_user = [] #用户借书记录表

这样写变量名,比起abc 是有些麻烦,但我觉得能更快的想起这个列表的用途,如果你不习惯,就用你的方法,但你如果继续学习python编程,总有一天,你也会这样写的。

下一步,我们在借书的最后,加上这句,实现借书登记

print("可借图书:", s)
n = input("要借第几本: ")
n = int(n)
#print("你借的是", s[n])   #本次修改的地方
name = s.pop(n)    #本次修改的地方
print("你借的是", name)
print("剩余图书:", s)
print()
list_user.append(name)  #本次修改的地方

python 列表知识点

1 列表删除命令pop的补充

s.pop(0#可以删除列表s的第0位元素

pop还有一个功能是,在删除的同时,可以记住删除元素的内容
所以,上面、下面的代码你明白了吗

list1 = ["a""b""c"]
w = list1.pop(1)
print(w)

2 列表的增加 append

list1 = ["a""b""c"]
list1.append("c")
print(list1)

以上,会在list1列表的最后再加入一个”c”,试试吧

二 图书管理系统 还书功能

这一部分的还书功能其实和之前做的借书功能一样,只需要将两个列表的名字改一下就可以了。
你可以先试试做一下!
做完之后,再来看这部分的升级写法
这部分实现了什么升级?

  1. 如果还书列表为空,就不执行还书功能
  2. 还书时可以写数字,也可以写书名
  3. 输入有误时,程序不会崩溃
if list_user:
    print("可还图书:", list_user)
    name = ""
    n = input("输入书名或序号: ")
    
    if n.isdigit(): #如果输入的是数字
        n = int(n)  #将n转为数字
        if n<=len(list_user): #如果数字不超过列表中元素的个数
            name = list_user.pop(n) #从待还列表中删除
        else:
            print("输入序号不正确")
            
    elif n in list_user: #再如果写的是书名,并且确实在列表中
        name = n
        list_user.remove(name) #从待还列表中删除
        
    else:
        print("输入有误")


    if name!="":
        s.append(name)
        print("你还的是", name)
else:
    print("没有该还的书")

以下为python知识点说明

1 条件语句if

代码第一句if list_user
之前讲过,if 后面跟的是一个结果为真或假的条件,
这句是缩写,相当于:

if list_user!=[]:

意思是:如果该列表不是空的

2 字符串功能 isdigit

if n.isdigit():

完整写法为

if n.isdigit()==True:

n是我们输入的数字或书名,这句的意思是:
如果n是一个数字,那么…
isdigit函数表示,判断当前字符串是否是数字

3 统计元素数量 len

len可以统计字符串、列表等数据类型中,有多少项

n = len( "abs3" ) #n结果为4,字符串有4个字
n = len( ["abs3"2] ) #n结果为2,列表有2项

4 列表删除 remove

这个功能也是从列表删除,和pop的区别是:
remove 是从列表中 删除指定的元素
pop 能记录删除的序号,并删除指定的序号项

5 !=

python中,
=表示赋值,
==表示判断等号两边是否相等
!=表示判断两边是否不相等

if name!=""#如果名字不是空的

本文结束

如有疑问,请直接留言!必回!
如有帮助,请点赞转发!感谢!

关注Python入门速学
带你实战快速学Python


原文始发于微信公众号(Python入门速学):Python新手速学教程 第9课:用列表做图书管理借书系统2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/236379.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!