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()

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,735评论 0 10
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 966评论 0 1
  • def statistics_books(books): """ 统计图书不同种类对应个数 """ dic...
    测试探索阅读 1,451评论 0 3
  • 本文主要讲述官方提供的客户端以及自己写的增删查改工具: ros_tool.py功能总汇,展示界面用了python的...
    追寻823阅读 3,162评论 0 1
  • 一个城市的美丽 与风景无关 一段岁月的辉煌 与成就无关 一些人的可爱 与身份、地位无关 再见了,郑州 再见了 那些...
    风铃缥缈阅读 1,042评论 10 27