python 用户信息管理系统【各个函数剖析 + 完整代码 零基础适用篇】

本文档详细介绍了如何实现一个简单的用户管理系统,包括用户登录、注册功能,以及管理员对用户信息的增删查改操作。系统使用字典存储用户数据,通过函数实现各个功能,并设有敏感词检查和密码复杂度验证。管理员可以增加、删除、修改和显示用户信息。
摘要由CSDN通过智能技术生成

        这个用户管理系统小白也能轻松掌握,只用了函数,用户信息只有两个:姓名(账号)和密码,采用字典存放数据,字典的键即为姓名,值为密码,功能分为两大部分,第一部分为用户的登录和注册,第二部分为管理员对信息的增删查改操作,以下为文章目录:

文章目录:

 主选择界面:

主界面效果:

主界面函数:choose0()

 选择一:用户的登录与注册:

登录注册选择页面效果:

登录页面效果: 

注册页面效果:

注册条件功能效果:

敏感词判断:

 密码纯数字纯字母判断:

密码长度判断:

 登录注册函数:useroption()

 选择二:管理员增删查改信息

管理员选项页面:

管理员选项页面效果: 

管理员选项函数:addminiter()

管理员操作一: 增加用户信息

增加用户效果:

管理员操作二:删除用户信息 

 删除用户函数:deluser()

 管理员操作三:改变用户信息

改变用户效果:

改变用户信息函数 :changeuser()

管理员操作四:显示用户信息 

显示信息效果:

显示信息函数: showuser()

 完整代码:


 主选择界面:

主界面效果:

可以输入 1 或 2 来选择你想要登录注册还是管理员管理

主界面函数:choose0()

def choose0():
    print('-------- 图书馆借阅管理系统 --------')
    print('--------- 1.用户登录/注册  --------')
    print('--------- 2.管理员界面     -------')
    choose1 = int(input('请选择用户登录注册或是管理员登录:'))
    print(end='\n')
    if choose1 == 1:
        useroption()
    elif choose1==2:
        addminiter()
    else:
        print('您选择的信息有误')


 选择一:用户的登录与注册:

该区域实现了用户的登录与注册,登录与注册放在了一个函数中,但是展示还是分开展示

登录注册选择页面效果:

登录页面效果: 

注册页面效果:

        注册页面还有其他条件功能:例如注册密码为全数字或全字母,则不符合,如果注册的姓名有脏字,则不符合,如果密码长度小于六位,也不符合等等

注册条件功能效果:

敏感词判断:

 密码纯数字纯字母判断:

密码长度判断:

 登录注册函数:useroption()

def useroption():
    print('--------- 用户登录注册 ----------')
    print('--------- 1.登录用户 -----------')
    print('--------- 2.注册用户 -----------')
    choose = int(input('请输入您的选择:'))
    if choose == 1:
        flag1 = 3
        while flag1:
            uname = input("--------- 请输入您的用户名:")
            if uname not in user:
                flag1 = flag1 - 1
                print('--------- 您输入的用户名不存在!您还剩下', flag1, '次输入机会')
                continue
            else:
                break
        flag2 = 3
        while flag2:
            password = input('--------- 请输入您的密码:')
            if password != user[uname]:
                flag2 = flag2 - 1
                print('--------- 您输入的密码错误!您还剩下', flag1, '次输入机会')
                continue
            else:
                print('登陆成功,欢迎你'+ uname )
                print('------------------------')
                print(end='\n')
                choose0()
    elif choose == 2:
        flag3 = 1  # 退出注册
        flag4 = 0  # 判断是否有脏字,全局变量
        while flag3:
            uname = input('--------- 请输入您要注册的用户名:')
            duty = ['傻', '逼', '蠢', '吊', '笨']
            for i in duty:
                rename = uname.replace(i, '*')
                if rename != uname:
                    flag4 = 1
                    uname = rename
            if flag4 == 1:
                print("您注册的用户名", uname, "包含敏感词汇,请重新输入!注意不可包含'傻','逼','蠢','吊','笨'")
                flag4 = 0
                continue
            else:
                while flag3:
                    password = input('--------- 请输入您要注册的用户名的密码:')
                    if password.isalpha() or password.isdigit():
                        print("--------- 您的密码不能只包含数字或字母")
                        continue
                    elif len(password) < 6:
                        print('--------- 您的密码长度过低,最低为6位')
                        continue
                    else:
                        user[uname] = password
                        flag3 = 0
                        print('您已成功注册用户:'+uname)
                        print('------------------------')
                        print(end='\n')
                        choose0()

 选择二:管理员增删查改信息

管理员选项页面:

输入1-4 来选择你要操作的管理员选项

管理员选项页面效果: 

管理员选项函数:addminiter()

def addminiter():
    print('--------  用户信息维护页  --------')
    print('-------- 1.增加用户信息 ----------')
    print('-------- 2.删除用户信息 ----------')
    print('-------- 3.修改用户信息 ----------')
    print('-------- 4.显示用户信息 ----------')
    choose2=int(input('请输入您的管理员选项:'))
    if choose2==1:
        adduser()
    if choose2==2:
        deluser()
    if choose2==3:
        changeuser()
    if choose2==4:
        showuser()


管理员操作一: 增加用户信息

增加用户效果:

增加用户函数:adduser()

def adduser():
    newname = input('请输入新用户的账号:')
    newpwd = input('请输入新用户的密码:')
    print('您已成功添加用户:' + '账号为:'+ newname + ' ,密码为:' + newpwd)
    print('------------------------')
    print(end='\n')
    newuser={}
    newuser[newname]=newpwd
    user.update(newuser)
    choose0()

管理员操作二:删除用户信息 

删除用户效果:

 删除用户函数:deluser()

def deluser():
    delname=input('请输入要删除的用户的账号:')
    print('您确认删除账号为:' + delname + ' 的用户信息吗?')
    choose3=input('Y/N:')
    if choose3=='Y':
        if delname in user:
            del user[delname]
            print('您已删除用户:' + delname)
            print('------------------------')
            print(end='\n')
            choose0()
        else:
            print('您输入的账号不存在')
            print('------------------------')
            print(end='\n')
            choose0()
    elif choose3=='N':
        print('您未删除任何用户')
        print('------------------------')
        print(end='\n')
        choose0()

 管理员操作三:改变用户信息

       此操作由于用户数据中只有名字和密码,所以此处只能根据姓名改变该姓名对应的密码,如果需要别的信息自行添加即可

改变用户效果:

改变用户信息函数 :changeuser()

def changeuser():
    changename=input('请输入要修改的学生的账号:')
    if changename in user:
        print('您当前修改的用户账号为:' + changename)
        new_changepwd = input('请输入要修改的用户的密码:')
        user[changename]=new_changepwd
        print('您已成功修改用户',changename,'的个人信息')
        print('------------------------')
        print(end='\n')
        choose0()
    else:
        print('您输入的用户不存在')
        print('------------------------')
        print(end='\n')
        choose0()

管理员操作四:显示用户信息 

显示信息效果:

显示信息函数: showuser()

def showuser():
    showname=input('请输入您要查询的用户账号:')
    if showname in user:
        print('您要查询的该用户信息为:')
        print('账号为:'+showname+' ,密码为:'+user[showname])
        print('------------------------')
        print(end='\n')
        choose0()
    else:
        print('无此用户')
        print('------------------------')
        print(end='\n')
        choose0()

 完整代码:

user = {'孟煜桐': '123456m','彭敬':'123456p'}

class Menu(object):
    @staticmethod
    def StudentMenu():
        print('-------- 欢迎来到图书管理系统  --------')
        print('--------- 1 查看所有藏书')
        print('--------- 2 借阅图书')
        print('--------- 3 归还图书')
        print('--------- 4 查询图书')
        print('--------- 0 退出系统')
        while True:
            studentchoice = input('请选择您要进行的操作:')
            if studentchoice == '1':
                choice.StudentSee()
            elif studentchoice =='2':
                choice.StudentBorrow()
            elif studentchoice == '3':
                choice.StudentGive()
            elif studentchoice == '4':
                choice.ManagerFind();
            elif studentchoice =='0':
                print ('---------- 欢迎再次使用图书管理系统 ---------')
                print('')
                choose0()
                break
            else:
                print ('您输入的信息有误,请重新输入:')
                Menu.StudentMenu()

class Book(object):
    def __init__(self, name, author, count, place):
        self.name = name
        self.author = author
        self.count = count
        self.place = place

class choice(object):
    # 查询图书
    @staticmethod
    def ManagerFind():
        name = input('请输入要查询的书名:')
        for book in BookList:
            if name == book.name :
                print('《%s》 作者:%s  数量:%s  楼层:%s!' % (name,book.author,book.count,book.place))
                return True
        else:
            print ('书库里没有书籍《%s》!' % book.name)
            return None

    # 遍历图书馆中的所有书
    @staticmethod
    def StudentSee():
        print ('图书馆中所有的书有:')
        for book in BookList:
            print ('《%s》 作者:%s \t数量:%s \t楼层:%s '% (book.name,book.author,book.count,book.place))
        print('*'*30)
        Menu.StudentMenu()
    # 学生借书部分
    @staticmethod
    def StudentBorrow():
        name = input('请输入您想借阅的书名:')
        for book in BookList:
            if name == book.name :
                    if book.count == 0 or book.count < 0:
                        print('------ 该书已经被借空,请稍后再来!------')
                        print('')
                        Menu.StudentMenu()
                    else:
                        print('------ 您已成功借到书籍《%s》------' % (name))
                        print('')
                        book.count -= 1
                        Menu.StudentMenu()
        for book in BookList:
            if book.name not in BookList:
                print('------ 抱歉,图书馆暂时没有《%s》这本书' % name)
                print('')
                Menu.StudentMenu()
                break;

    # 学生还书部分
    @staticmethod
    def StudentGive():
        name = input('------ 请输入您要归还的书名:')
        for book in BookList:
            if name == book.name:
                book.count+=1
                print('------ 您已成功归还书籍《%s》' % name)
                print('')
                Menu.StudentMenu()
        if name not in BookList:
           print('------ 抱歉,图书馆暂时没有《%s》这本书,您无法归还' % name)
           print('')
           Menu.StudentMenu()

def choose0():
    print('-------- 图书馆借阅管理系统 --------')
    print('--------- 1.用户登录/注册  --------')
    print('--------- 2.管理员界面     -------')
    choose1 = int(input('请选择用户登录注册或是管理员登录:'))
    print(end='\n')
    if choose1 == 1:
        useroption()
    elif choose1==2:
        addminiter()
    else:
        print('您选择的信息有误')


def addminiter():
    print('--------  用户信息维护页  --------')
    print('-------- 1.增加用户信息 ----------')
    print('-------- 2.删除用户信息 ----------')
    print('-------- 3.修改用户信息 ----------')
    print('-------- 4.显示用户信息 ----------')
    choose2=int(input('请输入您的管理员选项:'))
    if choose2==1:
        adduser()
    if choose2==2:
        deluser()
    if choose2==3:
        changeuser()
    if choose2==4:
        showuser()

def adduser():
    newname = input('请输入新用户的账号:')
    newpwd = input('请输入新用户的密码:')
    print('您已成功添加用户:' + '账号为:'+ newname + ' ,密码为:' + newpwd)
    print('------------------------')
    print(end='\n')
    newuser={}
    newuser[newname]=newpwd
    user.update(newuser)
    choose0()

def deluser():
    delname=input('请输入要删除的用户的账号:')
    print('您确认删除账号为:' + delname + ' 的用户信息吗?')
    choose3=input('Y/N:')
    if choose3=='Y':
        if delname in user:
            del user[delname]
            print('您已删除用户:' + delname)
            print('------------------------')
            print(end='\n')
            choose0()
        else:
            print('您输入的账号不存在')
            print('------------------------')
            print(end='\n')
            choose0()
    elif choose3=='N':
        print('您未删除任何用户')
        print('------------------------')
        print(end='\n')
        choose0()

def changeuser():
    changename=input('请输入要修改的学生的账号:')
    if changename in user:
        print('您当前修改的用户账号为:' + changename)
        new_changepwd = input('请输入要修改的用户的密码:')
        user[changename]=new_changepwd
        print('您已成功修改用户',changename,'的个人信息')
        print('------------------------')
        print(end='\n')
        choose0()
    else:
        print('您输入的用户不存在')
        print('------------------------')
        print(end='\n')
        choose0()

def showuser():
    showname=input('请输入您要查询的用户账号:')
    if showname in user:
        print('您要查询的该用户信息为:')
        print('账号为:'+showname+' ,密码为:'+user[showname])
        print('------------------------')
        print(end='\n')
        choose0()
    else:
        print('无此用户')
        print('------------------------')
        print(end='\n')
        choose0()

def useroption():
    print('--------- 用户登录注册 ----------')
    print('--------- 1.登录用户 -----------')
    print('--------- 2.注册用户 -----------')
    choose = int(input('请输入您的选择:'))
    if choose == 1:
        flag1 = 3
        while flag1:
            uname = input("--------- 请输入您的用户名:")
            if uname not in user:
                 flag1 = flag1 - 1
                 print('--------- 您输入的用户名不存在!您还剩下', flag1, '次输入机会')
                 continue
            else:
                break;
        if flag1 <= 0:
                    print('-------- 您输入错误次数过多,稍后再试')
                    print('-------------------------------')
                    choose0()
        else:
         flag2 = 3
         while flag2:
             password = input('--------- 请输入您的密码:')
             if password != user[uname]:
                flag2 = flag2 - 1
                print('--------- 您输入的密码错误!您还剩下', flag2, '次输入机会')
                continue
             else:
                print('登陆成功,欢迎你'+ uname )
                print('------------------------')
                print(end='\n')
                Menu.StudentMenu();
    elif choose == 2:
        flag3 = 1  # 退出注册
        flag4 = 0  # 判断是否有脏字,全局变量
        while flag3:
            uname = input('--------- 请输入您要注册的用户名:')
            duty = ['傻', '逼', '蠢', '吊', '笨']
            for i in duty:
                rename = uname.replace(i, '*')
                if rename != uname:
                    flag4 = 1
                    uname = rename
            if flag4 == 1:
                print("您注册的用户名", uname, "包含敏感词汇,请重新输入!注意不可包含'傻','逼','蠢','吊','笨'")
                flag4 = 0
                continue
            else:
                while flag3:
                    password = input('--------- 请输入您要注册的用户名的密码:')
                    if password.isalpha() or password.isdigit():
                        print("--------- 您的密码不能只包含数字或字母")
                        continue
                    elif len(password) < 6:
                        print('--------- 您的密码长度过低,最低为6位')
                        continue
                    else:
                        user[uname] = password
                        flag3 = 0
                        print('您已成功注册用户:'+uname)
                        print('------------------------')
                        print(end='\n')
                        choose0()

BookList = []
book1 = BookList.append(Book('web前端开发','张三',10,'1Floor'))
book2 = BookList.append(Book('计算机操作系统','李四',10, '2Floor'))
book3 = BookList.append(Book('python程序设计','贾子琪',10,'3Floor'))
book4 = BookList.append(Book('软件工程','王五',10,'3Floor'))
book5 = BookList.append(Book('老人与海','海明威',10,'3Floor'))
choose0()


评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡卡西最近怎么样

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值