python编写简易图书管理系统(简单练习)

终于学完了字典,挑战写写小小项目

简介:


  1. 用户进入系统有5个选项,分别为:借书,还书,查询(作者),查看所有书籍,退出操作来供用户操作
  2. 主要是简单的while循环,if判断来组成建议的管理系统

 难点:字典和列表嵌套运用

 下面附上代码:

初始化图书库

lib=[{'书名':'西游记','作者':'吴承恩','价格':99,'剩余':100,'已借阅':0},
    {'书名':'红楼梦','作者':'曹雪芹','价格':88,'剩余':121,'已借阅':0},
     {'书名':'三国演义','作者':'罗贯中','价格':60,'剩余':45,'已借阅':0},
     {'书名':'水浒传','作者':'施耐庵','价格':100,'剩余':34,'已借阅':0}]#图书库存

 定义一些全局变量

a,b,c,d,e,f=0,0,0,0,0,0#下面代码分别解释
MyBook=dict()#创建一个自己的借书篮子
flag=True#逻辑为真

 输入操作指令

print("1.借书\n2.还书\n3.查询(作者)\n4.查看所有书籍\n5.退出操作")
    a = int(input('请输入你的操作:'))
    if a!=1 and a!=2 and a!=3 and a!=4 and a!=5:#判断输入的数是否符合操作序号
        print('输入错误,请重新输入\n')
        while a!=1 and a!=2 and a!=3 and a!=4 and a!=5:#直到输入正确方可跳出循环
            print("请输入你的操作:\n1.借书\n2.还书\n3.查询(作者)\n4.查看所有书籍\n5.退出操作:")
            a = int(input('请输入你的操作:'))

 在a=1的情况下执行下面操作

 

        if a==1:
            print("\t")#空一行
            b=input('请输入要借的书籍:')
            if b==lib[0]['书名'] or b==lib[1]['书名'] or b==lib[2]['书名'] or b==lib[3]['书名']:#判断输入是否规范
                c=int(input('是否借阅?是按1,否按2,则退出系统'))
                if c!=1 and c!=2:
                    print('输入错误,请重新输入')
                    while c!=1 and c!=2:#直到输入成功为止
                        c = input('是否借阅?是按1,否按2:')
                else:
                    if c==1:#将借阅的书籍及其信息放入自己的篮子
                        d=int(input("输入借阅数量:"))
                        MyBook['书名']=b
                        if b==lib[0]['书名']:#添加作者,价格,并且更行原库存数量
                            MyBook['作者']=lib[0]['作者']
                            MyBook['价格']= lib[0]['价格']
                            lib[0]['剩余'] -= d
                            lib[0]['已借阅']+=d
                        elif b==lib[1]['书名']:
                            MyBook['作者']=lib[1]['作者']
                            MyBook['价格'] = lib[1]['价格']
                            lib[1]['剩余']  -= d
                            lib[1]['已借阅'] += d
                        elif b==lib[2]['书名']:
                            MyBook['作者']=lib[2]['作者']
                            MyBook['价格']= lib[2]['价格']
                            lib[2]['剩余']  -= d
                            lib[2]['已借阅'] += d
                        elif b==lib[3]['书名']:
                            MyBook['作者']=lib[3]['作者']
                            MyBook['价格'] = lib[3]['价格']
                            lib[3]['剩余']  -= d
                            lib[3]['已借阅']+= d
                        print('所借书籍信息:',MyBook)
                        print('恭喜你借书成功!')
                        print("\t")
                    else:
                        flag=False

 如果输入的不是正确的书名会让你重新输入

 else:
                print('你输入的不符合,请重新输入')
                print("\t")

 如果a=2,就执行指令为2的操作

 elif a==2:
            print("\t")
            e=input('请输入要还的书名:')
            if e==lib[0]['书名'] :#更新库存的借阅
                f=int(input('请输入归还数量:'))
                lib[0]['已借阅']-=f
                lib[0]['剩余']+= f
            if e==lib[1]['书名'] :
                f=int(input('请输入归还数量:'))
                lib[1]['已借阅']-=f
                lib[1]['剩余'] += f
            if e==lib[2]['书名'] :
                f=int(input('请输入归还数量:'))
                lib[2]['已借阅']-=f
                lib[2]['剩余'] += f
            if e==lib[3]['书名'] :
                f=int(input('请输入归还数量:'))
                lib[3]['已借阅']-=f
                lib[3]['剩余'] += f
            print('恭喜你归还成功!还有%d本未归还!'%(d-f))

 a=3时的操作

        if a==3:
            g=input('请输入作者:')
            if g==lib[0]['作者'] :#判断查询的作者及其书本信息
                    print(lib[0])
            if g==lib[1]['书名'] :
                    print(lib[1])
            if g==lib[2]['书名'] :
                    print(lib[2])
            if g==lib[3]['书名'] :
                    print(lib[3])
            print('查询成功!')

 a=4的操作

        if a==4:#打印所有书籍信息
            print('所有书籍信息:\n{0}\n{1}\n{2}\n{3}'.format(lib[0],lib[1],lib[2],lib[3]))
            print("\t")#空一行,看得清楚

a=5的退出操作

        if a==5:#退出系统
            flag=False

 以上代码从 输入操作指令开始,实在一个while中实现

下面为完整代码

*注:该代码是有GUG的,有一些逻辑我还无法实现,等我学的深一点会来完善的

lib=[{'书名':'西游记','作者':'吴承恩','价格':99,'剩余':100,'已借阅':0},
    {'书名':'红楼梦','作者':'曹雪芹','价格':88,'剩余':121,'已借阅':0},
     {'书名':'三国演义','作者':'罗贯中','价格':60,'剩余':45,'已借阅':0},
     {'书名':'水浒传','作者':'施耐庵','价格':100,'剩余':34,'已借阅':0}]#图书库存
a,b,c,d,e,f=0,0,0,0,0,0
MyBook=dict()#创建一个自己的借书篮子
flag=True
while flag:#进入系统
    print("1.借书\n2.还书\n3.查询(作者)\n4.查看所有书籍\n5.退出操作")
    a = int(input('请输入你的操作:'))
    if a!=1 and a!=2 and a!=3 and a!=4 and a!=5:#判断输入的数是否符合操作序号
        print('输入错误,请重新输入\n')
        while a!=1 and a!=2 and a!=3 and a!=4 and a!=5:#直到输入正确方可跳出循环
            print("请输入你的操作:\n1.借书\n2.还书\n3.查询(作者)\n4.查看所有书籍\n5.退出操作:")
            a = int(input('请输入你的操作:'))
    else:
        if a==1:
            print("\t")#空一行
            b=input('请输入要借的书籍:')
            if b==lib[0]['书名'] or b==lib[1]['书名'] or b==lib[2]['书名'] or b==lib[3]['书名']:#判断输入是否规范
                c=int(input('是否借阅?是按1,否按2,则退出系统'))
                if c!=1 and c!=2:
                    print('输入错误,请重新输入')
                    while c!=1 and c!=2:#直到输入成功为止
                        c = input('是否借阅?是按1,否按2:')
                else:
                    if c==1:#将借阅的书籍及其信息放入自己的篮子
                        d=int(input("输入借阅数量:"))
                        MyBook['书名']=b
                        if b==lib[0]['书名']:#添加作者,价格,并且更行原库存数量
                            MyBook['作者']=lib[0]['作者']
                            MyBook['价格']= lib[0]['价格']
                            lib[0]['剩余'] -= d
                            lib[0]['已借阅']+=d
                        elif b==lib[1]['书名']:
                            MyBook['作者']=lib[1]['作者']
                            MyBook['价格'] = lib[1]['价格']
                            lib[1]['剩余']  -= d
                            lib[1]['已借阅'] += d
                        elif b==lib[2]['书名']:
                            MyBook['作者']=lib[2]['作者']
                            MyBook['价格']= lib[2]['价格']
                            lib[2]['剩余']  -= d
                            lib[2]['已借阅'] += d
                        elif b==lib[3]['书名']:
                            MyBook['作者']=lib[3]['作者']
                            MyBook['价格'] = lib[3]['价格']
                            lib[3]['剩余']  -= d
                            lib[3]['已借阅']+= d
                        print('所借书籍信息:',MyBook)
                        print('恭喜你借书成功!')
                        print("\t")
                    else:
                        flag=False
            else:
                print('你输入的不符合,请重新输入')
                print("\t")
        elif a==2:
            print("\t")
            e=input('请输入要还的书名:')
            if e==lib[0]['书名'] :#更新库存的借阅
                f=int(input('请输入归还数量:'))
                lib[0]['已借阅']-=f
                lib[0]['剩余']+= f
            if e==lib[1]['书名'] :
                f=int(input('请输入归还数量:'))
                lib[1]['已借阅']-=f
                lib[1]['剩余'] += f
            if e==lib[2]['书名'] :
                f=int(input('请输入归还数量:'))
                lib[2]['已借阅']-=f
                lib[2]['剩余'] += f
            if e==lib[3]['书名'] :
                f=int(input('请输入归还数量:'))
                lib[3]['已借阅']-=f
                lib[3]['剩余'] += f
            print('恭喜你归还成功!还有%d本未归还!'%(d-f))
        if a==3:
            g=input('请输入作者:')
            if g==lib[0]['作者'] :#判断查询的作者及其书本信息
                    print(lib[0])
            if g==lib[1]['书名'] :
                    print(lib[1])
            if g==lib[2]['书名'] :
                    print(lib[2])
            if g==lib[3]['书名'] :
                    print(lib[3])
            print('查询成功!')
        if a==4:#打印所有书籍信息
            print('所有书籍信息:\n{0}\n{1}\n{2}\n{3}'.format(lib[0],lib[1],lib[2],lib[3]))
            print("\t")#空一行,看得清楚
        if a==5:#退出系统
            flag=False

学python真快乐,继续加油!!!

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值