这个用户管理系统小白也能轻松掌握,只用了函数,用户信息只有两个:姓名(账号)和密码,采用字典存放数据,字典的键即为姓名,值为密码,功能分为两大部分,第一部分为用户的登录和注册,第二部分为管理员对信息的增删查改操作,以下为文章目录:
文章目录:
主选择界面:
主界面效果:
可以输入 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()