简单图书管理系统-Python

随手练习

import sys
import pickle
with open('books','rb') as file0:
    books=pickle.load(file0)
with open('Account','rb') as file:
    users=pickle.load(file)
flag=False
def main():
    while True:
        print('\n\n    **********************')
        print('    *欢迎来到图书管理系统*')
        print('    **********************\n')
        print('*********************************')
        print('******   登录-------1  **********')
        print('******   注册-------2  **********')
        print('******   退出-------0  **********')
        print('*********************************\n')
        v=int(input('请输入对应的数字:'))
        if v==2:
            register()
        elif v==1:
            login()
        elif v==0:
            exit(0)
def register():
    username=input('请输入用户名:')
    pwd = input("请输入你的密码:")
    users.append([username,pwd])
    with open('Account','wb') as file1:
        pickle.dump(users,file1)
    special = ['!','@','#','$','%','^','&','*','(',')','-','_','+','=','{','}',';',':','[',']',';',':','\"','\\','|',',','<','.','>','/','?','~','`']       
    engUpper = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
    engLower = ['a','b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    engNums = ['0','1','2','3','4','5','6','7','8','9']
    abc = list(pwd)
    flag = 0
    flagSp = 0
    flagUp = 0
    flagLo = 0
    flagNu = 0
    for i in abc: 
        for k in special:
            if(i==k):
                flagSp = 1
        for k in engLower:
            if(i==k):
                flagUp = 1               
        for k in engUpper:
            if(i==k):
                flagLo = 1       
        for k in engNums:
            if(i==k):
                flagNu = 1
    flag = (flagSp+flagNu+flagLo+flagUp)
    vat = isinstance(flag, int)
    print(flag)
    if(vat == True):
        if(flag == 4 and len(pwd) >= 16):
            print("-强密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 4 and 8 < len(pwd) <=16):
            print("-中高安全密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 4 and 8 < len(pwd) <=16):
            print("-中低安全密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 4 and len(pwd) <= 8):
            print("-弱密码-")
            print('注册失败!')
        elif(flag == 3 and len(pwd) >= 16):
            print("-中高安全密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 3 and 8 < len(pwd) <=16):
            print("-中高安全密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 3 and 8 < len(pwd) <=16):
            print("-中低安全密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 3 and len(pwd) <= 8):
            print("-弱密码-")
            print('注册失败!')
        elif(flag == 2 and len(pwd) >= 16):
            print("中低安全密码")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 2 and 8 < len(pwd) <=16):
            print("-中低安全密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 2 and 8 < len(pwd) <=16):
            print("-中低安全密码-")
            users.append([username,pwd])
            print('注册成功!')
        elif(flag == 2 and len(pwd) <= 8):
            print("-弱密码-")
            print('注册失败!')
        elif(flag == 1 and len(pwd) >= 8):
            print("-弱密码-")
            print('注册失败!')
        elif(flag == 1 and 8 < len(pwd) <=16):
            print("-弱密码-")
            print('注册失败!')
        elif(flag == 1 and 8 < len(pwd) <=16):
            print("-弱密码-")
            print('注册失败!')
        elif(flag == 1 and len(pwd) <= 8):
            print("-弱密码-")
            print('注册失败!')
        elif(flag == 0):
            print("当前密码为空,密码不能为空")
def login():
    print('请输入用户名:',end='')
    username=input()
    print('请输入用户密码:',end='')
    password=input()
    if [username,password] in users:
        print('登录成功!')
        flag=True
        booksManagement()
    else:
        print('\n用户名不存在或密码错误! 请重新登录!')
def booksManagement():
    while True:
        print('\n\n**********************')
        print('*欢迎来到图书管理系统*')
        print('**********************\n')
        print('*********************************')
        print('********  增加书籍--------1  **********')
        print('********  删除书籍--------2  **********')
        print('********  查找书籍--------3  **********')
        print('********  修改书籍--------4  **********')
        print('********  查看所有书籍----5  **********')
        print('********  退出------------0  **********')
        print('***************************************\n')
        v=int(input('请输入对应的数字:\n'))
        try:
            if v==1:
                bookname=input('请输入书名:')
                author=input('请输入作者:')
                price=int(input('请输入价格:'))
                books.append([bookname,author,price])
                print('\n添加书籍成功!')
            elif v==2:
                bookname=input('请输入书名:')
                author=input('请输入作者:')
    
                price=int(input('请输入价格:'))
                if [bookname,author,price] in books:
                    books.remove([bookname,author,price])
                    print('\n删除书籍成功!')
                else:
                    print('\n该书籍不存在!自动返回...')
            elif v==3:
                bookname=input('请输入书名:')
                print()
                j=0
                for i in books:
                    if i[0]==bookname:
                        j=1
                        print('书名:',i[0],'作者:',i[1],'价格:',i[2])
                if j==0:
                    print('该书籍不存在!自动返回...')
                print('\n查找结束!\n')
            elif v==4:
                bookname=input('请输入书名:')
                author=input('请输入作者:')
                price=int(input('请输入价格:'))
                if [bookname,author,price] in books:
                    books.remove([bookname,author,price])
                    bookname=input('请输入修改后的书名:')
                    author=input('请输入修改后的作者:')
                    price=int(input('请输入修改后的价格:'))
                    books.append([bookname,author,price])
                    print('\n修改书籍成功!')
                else:
                    print('\n该书籍不存在!自动返回...')
            elif v==5:
                print('\n书名\t\t','作者\t\t\t','价格\n')
                for i in books:
                    print(i[0],'\t\t',i[1],'\t\t',i[2])
                    print()
            elif v==0:
                exit(0)
            with open('books','wb') as file0:
                pickle.dump(books,file0)
        except ValueError:
            print('您输入胡信息有误,请重新输入')
main()

你可能感兴趣的:(Python)