鱼C论坛

 找回密码
 立即注册
查看: 1837|回复: 2

[技术交流] 图书管理系统

[复制链接]
发表于 2020-1-28 18:10:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
###登录 注册 控制台,登录后图书管理页面  注册--->登录
###查看所有书籍, 通过书名查看书籍, 添加书籍,删除书籍,修改书籍(通过书名)
###用户的数据库, 书籍的数据库
import os
import json
# users=[['admin01','111'],['admin02','222']]
# books=[['书名','作者','分类','价格','描述'],
# ['<<阿Q正传>>','鲁迅','中篇小说','88','阿Q是一个从物质到精神都受到严重戕害的农民形象。他生活在社会最底层,受尽压迫和屈辱,但他不能正视自己被压迫的悲惨地位,反而自我安慰,即使是在受污辱甚至要被杀头的情况下,他也以为自己是精神上的“胜利者”。'],
# ['<<西游记>>','吴承恩','中国古典小说','66','孙悟空随唐僧西天取经,沿途除妖降魔、战胜困难的故事。'],
# ['<<红楼梦>>','曹雪芹','中国古典小说','99','《红楼梦》讲述的是发生在一个虚构朝代的封建大家庭中的人事物,其中以贾宝玉、林黛玉、薛宝钗三个人之间的感情纠葛为主线通过对一些日常事件的描述体现了在贾府的大观园中以金陵十二钗为主体的众女子的爱恨情愁。']      ]
users=open('user.txt','r').read()
books=open('books.txt','r').read()
#read文件
users=json.loads(users)
books=json.loads(books)
def main_choose():
    print('**************欢迎来到图书管理系统!**************')
    print('*1   登录\n*2   注册\n*3   修改密码\n*4   退出')
    choose=int(input('请输入您的操作(数字): '))
    if choose==1 :
        login()

    if choose==2 :
        register()

    if choose==3 :
        modifier()

    if choose==4 :
        exit()
def login():
    admin=input('请输入用户名: ')
    pwd=input('请输入密码:  ')
    flag=0
    for i in users:
        if i[0]==admin and i[1]==pwd:
            flag=1
    if flag==1:
        manage()
    else:
        print('请输入正确的账号和密码!')
        login()

def register():
    userName=input('请输入要注册的用户名: ')
    for i in users:
        if i[0]==userName:
            print('该用户名已存在! 请重新输入!')
            userName=input('请输入要注册的用户名: ')
        else:
            userPwd=input('请设置您的登录密码: ')
            print(userName,userPwd)
            users.append([userName,userPwd])
            with open('user.txt','w',encoding='utf-8') as file:
                json.dump(users,file,ensure_ascii=False)
            print('注册成功!用户名为:',userName,'密码为:',userPwd)
            try:
                j=int(input('*1   登录\n*2   注册\n*3   退出'))
                if j==1:
                        login()
                if j==2:
                       SystemExit()
                if j==3:
                       exit()
            except ValueError as e:
                      print('请输入对应的整数!')
def  modifier():
    userName=input('请输入要修改的用户的名称: ')
    j=-1
    flag=0
    for i in users:
        j+=1
        if i[0]==userName:
            print('找到此用户: ',users[j])
            flag=1
            newPasswd=input('请输入修改后的密码:')
            users[j][1]=newPasswd
            with open('user.txt','w',encoding='utf-8') as file:
                json.dump(users,file,ensure_ascii=False)
            print('修改成功!修改后的密码为',users[j][1])
            login()
    if flag==0:
        print('没有找到此用户!')
def manage():
    print('*1   添加图书  \n*2---删除图书   \n*3---修改图书信息   \n*4---查找图书   \n*5---退出')
    ch=int(input('请输入您要进行的操作: '))
    if ch==1:
        add()
    elif ch==2:
        delete()
    elif ch==3:
        modify()
    elif ch==4:
        search()
    else:
        SystemExit()
def add():
    ch=1
    while(ch!=2):
        bookName=input('书籍名: ')
        auther=input('作者: ')
        category=input('类别: ')
        price=input('价格: ')
        desc=input('描述: ')
        addBook=[bookName,auther,category,price,desc]
        books.append(addBook)
        with open('books.txt','w') as fil:
                json.dump(books,fil,ensure_ascii=False)
        print('添加成功!')
        print(addBook)
        ch=int(input('要继续添加图书吗?  *1   继续   *2   退出 '))
        if ch==2:
            manage()
def delete():
    delBook=input('请输入要删除的书名: ')
    j=-1
    flag=0
    for i in books:
        j+=1
        if i[0]==delBook:
            print('找到此书: ',books[j])
            ch=int(input('确定要删除吗? 1   确定  !1   取消'))
            if ch==1:
                del books[j]
                with open('books.txt','w') as fil:
                    json.dump(books,fil,ensure_ascii=False)
                flag=1
                print('删除成功!')
                manage()
            elif ch != 1:
                flag=1
                print('您选择了取消,已返回!')
                manage()
    if flag==0:
        print('未找到此书!')
        manage()
def modify():
    bookName=input('请输入要修改的书的名称: ')
    j=-1
    flag=0
    for i in books:
        j+=1
        if i[0]==bookName:
            print('找到此书: ',books[j])
            flag=1
            print('1   书名  \n2   作者  \n3   分类   \n4   价格   \n5   描述   \n6   修改全部')
            ch=int(input('请输入要修改哪一项: '))
            if ch==1:
                newName=input('请输入修改后的名称:')
                books[j][0]=newName
                with open('books.txt','w') as fil:
                    json.dump(books,fil,ensure_ascii=False)
                print('修改成功!修改后为: ',books[j])
                manage()
            elif ch==2:
                newAuther=input('请输入修改后的作者: ')
                books[j][1]=newAuther
                with open('books.txt','w') as fil:
                    json.dump(books,fil,ensure_ascii=False)
                print('修改成功! 修改后为: ',books[j])
                manage()
            elif ch==3:
                newCate=input('请输入修改后的分类: ')
                books[j][2]=newCate
                with open('books.txt','w') as fil:
                    json.dump(books,fil,ensure_ascii=False)
                print('修改成功! 修改后为: ',books[j])
                manage()
            elif ch==4:
                newPrice=input('请输入修改后的价格:')
                books[j][3]=newPrice
                with open('books.txt','w') as fil:
                    json.dump(books,fil,ensure_ascii=False)
                print('修改成功! 修改后为: ',books[j])
                manage()
            elif ch==5:
                newDesc=input('请输入修改后的描述: ')
                books[j][4]=newDesc
                with open('books.txt','w') as fil:
                    json.dump(books,fil,ensure_ascii=False)
                print('修改成功! 修改后为: ',books[j])
                manage()
            elif ch==6:
                newName=input('请输入修改后的名称:')
                newAuther=input('请输入修改后的作者: ')
                newCate=input('请输入修改后的分类: ')
                newPrice=input('请输入修改后的价格:')
                newDesc=input('请输入修改后的描述: ')
                newMessage=[newName,newAuther,newCate,newPrice,newDesc]
                books[j]=newMessage
                with open('books.txt','w') as fil:
                    json.dump(books,fil,ensure_ascii=False)
                print('修改成功! 修改后为: ',books[j])
                manage()
    if flag==0:
        print('没有找到此书!')
        manage()
def search():
    print('1---通过书名查看   2---查看全部图书')
    ch=int(input('请输入您的操作: '))
    if ch==1:
        bookName=input('请输入要查看的书名: ')
        j=-1
        flag=0
        for i in books:
            j+=1
            if i[0]==bookName:
                flag=1
                print('查到此书信息: ',books[j])
                manage()
        if flag==1:
            print('此书名不存在!')
            manage()
    elif ch==2:
        j=-1
        print('全部图书如下: ')
        for i in books:
            j+=1
            print(books[j])
        manage()
    else:
        print('输入的指令不正确!请重新输入:')
        search()
main_choose()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-15 21:14:19 | 显示全部楼层
第一个,踩踩,刚刚入门看不懂,copy一下运行我也不行 尴尬 ̄□ ̄||
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 22:09:56 From FishC Mobile | 显示全部楼层
应该是你有一些包还没有导入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 04:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表