python简易图书管理系统
import re
class Lib():
def __init__(self):
self.dict_1 = {"admin":"123456"}#用于储存用户名和密码
self.dict_2 = {}#用于储存用户名和手机号
self.book = [[1,"《菜鸟python》","2019-08-01"],[2,"《入门黑客》","2017-05-05"],[3,"《三国演义》","2017-06-05"]]#用于存放图书
def inter_1(self):
print("------------欢迎来到图书管理系统主页面-------------")
print("1、注册 2、登陆 3、退出")
a = input("请选择你的操作:")
if a =="1":
self.register()
elif a =="2":
self.login()
elif a =="3":
exit()
else:
print("输入不符合要求,请重新输入")
self.inter_1()
def register(self):
print("------------图书管理员注册系统-------------")
print("1、注册 2、返回主界面")
d = input("请选择你的操作:")
if d =="1":
telnum = input("请输入你的手机号:")
if re.match(r"1+\d{10}", telnum):
if telnumin self.dict_2.values():
print("手机号已存在,请重新输入")
self.register()
else:
pass
else:
print("手机号输入有误,请重新输入")
self.register()
user_name = input("请输入你的用户名:")
password = input("请输入你的密码(密码必须由字母和数字组成):")
if not password.isdigit()and not password.isalpha():
password_1 = input("请确认你的密码:")
if password_1 == password:
if user_namein self.dict_1.keys():
print("抱歉,用户名以存在,请重新注册")
self.register()
else:
print("恭喜你注册成功,你的账户是:%s,你的密码是:%s,你的手机号是:%s。" % (user_name, password_1, telnum))
self.dict_1[user_name] = password
self.dict_2[user_name] = telnum
self.inter_1()
else:
print("密码规则不符合,请重新输入")
self.register()
elif d =="2":
self.inter_1()
else:
print("输入不符合要求,请重新输入")
self.register()
def login(self):
print("------------图书管理员登陆系统-------------")
print("1、登陆 2、忘记密码 3、返回主界面")
c = input("请选择你的操作:")
if c =="1":
user_name1 = input("请输入您的用户名:")
password1 = input("请输入您的密码:")
if user_name1in self.dict_1.keys():
if password1 == self.dict_1[user_name1]:
print("-----------登陆中-------------")
print("登陆成功")
self.librarian()
else:
print("密码错误,请重新输入")
self.login()
else:
print("用户名不存在")
b = input("重新登陆请输入:1,返回注册请输入:2")
if b =="1":
self.login()
elif b =="2":
self.register()
else:
print("输入有误")
self.login()
elif c =="2":
telnum2 = input("请输入你的手机号:")
user_name3 = input("请输入你的用户名:")
if telnum2in self.dict_2.values():
if user_name3in self.dict_2.keys():
print("你的密码是%s"%self.dict_1[user_name3])
self.login()
else:
print("用户名不正确")
self.login()
else:
print("手机号不正确")
self.login()
elif c =="3":
self.inter_1()
else:
print("输入不符合要求,请重新输入")
self.login()
def librarian(self):
print("------------欢迎来到图书员管理系统-------------")
print("图书命名规则:编号,书名,上传时间,例如:1,《python全书》,2018-5-15")
print("1、查看图书 2、增加图书 3、修改图书 4、删除图书 5、返回主界面 ")
e = input("请选择你的操作:")
if e =="1":
self.cat_book()
elif e =="2":
self.add_book()
elif e =="3":
self.vi_book()
elif e =="4":
self.rm_book()
elif e =="5":
self.inter_1()
else:
print("输入不符合要求,请重新输入")
self.inter_1()
def add_book(self):
global book
print("------------增加图书-------------")
print("1、增加图书 2、返回上一层")
e = input("请选择你的操作:")
if e =="1":
print("增加图书请符合 图书命名规则:编号,书名,上传时间,例如:1,《python全书》,2018-5-15")
print("当前图书编号为:%s,增加图书编号请加1。"%self.book[-1][0])
book_num = int(input("请输入你要添加的图书编号:"))
if book_num == self.book[-1][0] +1:
pass
else:
print("编号错误,请从新输入")
self.add_book()
book_name = input("请输入你要添加的书名:")
if re.match(r"^《.+》$",book_name):
pass
else:
print("书名错误,请从新输入")
self.add_book()
book_time = input("请输入你要添加的图书时间:")
if re.match(r"^\d{4}-(\d|1[0-2])-(\d|1[\d]|2[\d]|3[0-1])$",book_time):
print("%s添加成功"%book_name)
self.book.append([book_num,book_name,book_time])
print("1、继续添加 2、返回")
a = int(input("请选择你的操作:"))
if a ==1:
self.add_book()
elif a ==2:
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.add_book()
else:
print("时间错误,请重新输入")
self.add_book()
elif e =="2":
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.add_book()
def rm_book(self):
print("------------删除图书-------------")
print("1、删除图书 2、返回上一层")
e = input("请选择你的操作:")
if e =="1":
for iin self.book:
print(i)
rm_booknum = int(input("请选择你要删除的图书编号:"))
for iin self.book:
if rm_booknumin i:
self.book.remove(i)
print("%s删除成功"%i)
print("1、继续删除 2、返回")
a = int(input("请选择你的操作:"))
if a ==1:
self.rm_book()
elif a ==2:
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.rm_book()
else:
print("没有这个图书")
self.rm_book()
elif e =="2":
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.rm_book()
def vi_book(self):
print("------------修改图书-------------")
print("图书命名规则:编号,书名,上传时间,例如:1,《python全书》,2018-5-15")
print("1、修改图书 2、返回上一层")
e = input("请选择你的操作:")
if e =="1":
for iin self.book:
print(i)
vi_booknum = int(input("****请选择你要修改的图书编号*****:"))
for iin self.book:
if vi_booknumin i:
vi_booknum1 = int(input("请输入你要修改的图书编号:"))
vi_bookname = input("请输入你要修改的图书名:")
if re.match(r"^《.+》$", vi_bookname):
pass
else:
print("书名错误,请从新输入")
self.vi_book()
vi_booktime = input("请输入你要修改的时间:")
if re.match(r"^\d{4}-(\d|1[0-2])-(\d|1[\d]|2[\d]|3[0-1])$", vi_booktime):
pass
else:
print("时间错误,请重新输入")
self.vi_book()
v = self.book.index(i)
self.book[v] = [vi_booknum1,vi_bookname,vi_booktime]
print("修改成功")
print("1、继续修改 2、返回")
a = int(input("请选择你的操作:"))
if a ==1:
self.vi_book()
elif a ==2:
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.vi_book()
else:
print("没有这个图书")
self.vi_book()
elif e =="2":
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.vi_book()
def cat_book(self):
print("------------查看图书-------------")
print("1、查看图书 2、返回上一层")
e = input("请选择你的操作:")
if e =="1":
for iin self.book:
print(i)
print("查看成功")
print("1、继续查看 2、返回")
a = input("请选择你的操作:")
if a =="1":
self.cat_book()
elif a =="2":
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.cat_book()
elif e =="2":
self.librarian()
else:
print("输入不符合要求,请重新输入")
self.cat_book()
def run(self):
while True:
self.inter_1()
a = Lib()
a.run()