python簡(jiǎn)易圖書管理系統(tǒng)

import re

class Lib():

def __init__(self):

self.dict_1 = {"admin":"123456"}#用于儲(chǔ)存用戶名和密碼

? ? ? ? self.dict_2 = {}#用于儲(chǔ)存用戶名和手機(jī)號(hào)

? ? ? ? self.book = [[1,"《菜鳥python》","2019-08-01"],[2,"《入門黑客》","2017-05-05"],[3,"《三國(guó)演義》","2017-06-05"]]#用于存放圖書

? ? def inter_1(self):

print("------------歡迎來(lái)到圖書管理系統(tǒng)主頁(yè)面-------------")

print("1、注冊(cè)? ? ? 2、登陸? ? 3瓢剿、退出")

a = input("請(qǐng)選擇你的操作:")

if a =="1":

self.register()

elif a =="2":

self.login()

elif a =="3":

exit()

else:

print("輸入不符合要求志衍,請(qǐng)重新輸入")

self.inter_1()

def register(self):

print("------------圖書管理員注冊(cè)系統(tǒng)-------------")

print("1慧起、注冊(cè)? ? ? 2蛙奖、返回主界面")

d = input("請(qǐng)選擇你的操作:")

if d =="1":

telnum = input("請(qǐng)輸入你的手機(jī)號(hào):")

if re.match(r"1+\d{10}", telnum):

if telnumin? self.dict_2.values():

print("手機(jī)號(hào)已存在奖亚,請(qǐng)重新輸入")

self.register()

else:

pass

? ? ? ? ? ? else:

print("手機(jī)號(hào)輸入有誤然眼,請(qǐng)重新輸入")

self.register()

user_name = input("請(qǐng)輸入你的用戶名:")

password = input("請(qǐng)輸入你的密碼(密碼必須由字母和數(shù)字組成):")

if not password.isdigit()and not password.isalpha():

password_1 = input("請(qǐng)確認(rèn)你的密碼:")

if password_1 == password:

if user_namein? self.dict_1.keys():

print("抱歉,用戶名以存在顶籽,請(qǐng)重新注冊(cè)")

self.register()

else:

print("恭喜你注冊(cè)成功玩般,你的賬戶是:%s,你的密碼是:%s,你的手機(jī)號(hào)是:%s。" % (user_name, password_1, telnum))

self.dict_1[user_name] = password

self.dict_2[user_name] = telnum

self.inter_1()

else:

print("密碼規(guī)則不符合礼饱,請(qǐng)重新輸入")

self.register()

elif d =="2":

self.inter_1()

else:

print("輸入不符合要求壤短,請(qǐng)重新輸入")

self.register()

def login(self):

print("------------圖書管理員登陸系統(tǒng)-------------")

print("1、登陸? ? 2慨仿、忘記密碼? 3久脯、返回主界面")

c = input("請(qǐng)選擇你的操作:")

if c =="1":

user_name1 = input("請(qǐng)輸入您的用戶名:")

password1 = input("請(qǐng)輸入您的密碼:")

if user_name1in self.dict_1.keys():

if password1 == self.dict_1[user_name1]:

print("-----------登陸中-------------")

print("登陸成功")

self.librarian()

else:

print("密碼錯(cuò)誤,請(qǐng)重新輸入")

self.login()

else:

print("用戶名不存在")

b = input("重新登陸請(qǐng)輸入:1镰吆,返回注冊(cè)請(qǐng)輸入:2")

if b =="1":

self.login()

elif b =="2":

self.register()

else:

print("輸入有誤")

self.login()

elif c =="2":

telnum2 = input("請(qǐng)輸入你的手機(jī)號(hào):")

user_name3 = input("請(qǐng)輸入你的用戶名:")

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("手機(jī)號(hào)不正確")

self.login()

elif c =="3":

self.inter_1()

else:

print("輸入不符合要求帘撰,請(qǐng)重新輸入")

self.login()

def librarian(self):

print("------------歡迎來(lái)到圖書員管理系統(tǒng)-------------")

print("圖書命名規(guī)則:編號(hào),書名万皿,上傳時(shí)間摧找,例如:1,《python全書》牢硅,2018-5-15")

print("1蹬耘、查看圖書? ? ? 2、增加圖書? ? 3减余、修改圖書? ? 4综苔、刪除圖書? ? 5、返回主界面 ")

e = input("請(qǐng)選擇你的操作:")

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("輸入不符合要求位岔,請(qǐng)重新輸入")

self.inter_1()

def add_book(self):

global book

print("------------增加圖書-------------")

print("1如筛、增加圖書? ? 2、返回上一層")

e = input("請(qǐng)選擇你的操作:")

if e =="1":

print("增加圖書請(qǐng)符合 圖書命名規(guī)則:編號(hào)抒抬,書名杨刨,上傳時(shí)間,例如:1擦剑,《python全書》妖胀,2018-5-15")

print("當(dāng)前圖書編號(hào)為:%s,增加圖書編號(hào)請(qǐng)加1。"%self.book[-1][0])

book_num = int(input("請(qǐng)輸入你要添加的圖書編號(hào):"))

if book_num == self.book[-1][0] +1:

pass

? ? ? ? ? ? else:

print("編號(hào)錯(cuò)誤惠勒,請(qǐng)從新輸入")

self.add_book()

book_name = input("請(qǐng)輸入你要添加的書名:")

if re.match(r"^《.+》$",book_name):

pass

? ? ? ? ? ? else:

print("書名錯(cuò)誤赚抡,請(qǐng)從新輸入")

self.add_book()

book_time = input("請(qǐng)輸入你要添加的圖書時(shí)間:")

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、繼續(xù)添加? 2捉撮、返回")

a = int(input("請(qǐng)選擇你的操作:"))

if a ==1:

self.add_book()

elif a ==2:

self.librarian()

else:

print("輸入不符合要求怕品,請(qǐng)重新輸入")

self.add_book()

else:

print("時(shí)間錯(cuò)誤妇垢,請(qǐng)重新輸入")

self.add_book()

elif e =="2":

self.librarian()

else:

print("輸入不符合要求巾遭,請(qǐng)重新輸入")

self.add_book()

def rm_book(self):

print("------------刪除圖書-------------")

print("1肉康、刪除圖書? ? 2、返回上一層")

e = input("請(qǐng)選擇你的操作:")

if e =="1":

for iin self.book:

print(i)

rm_booknum = int(input("請(qǐng)選擇你要?jiǎng)h除的圖書編號(hào):"))

for iin self.book:

if rm_booknumin i:

self.book.remove(i)

print("%s刪除成功"%i)

print("1灼舍、繼續(xù)刪除? 2吼和、返回")

a = int(input("請(qǐng)選擇你的操作:"))

if a ==1:

self.rm_book()

elif a ==2:

self.librarian()

else:

print("輸入不符合要求,請(qǐng)重新輸入")

self.rm_book()

else:

print("沒有這個(gè)圖書")

self.rm_book()

elif e =="2":

self.librarian()

else:

print("輸入不符合要求骑素,請(qǐng)重新輸入")

self.rm_book()

def vi_book(self):

print("------------修改圖書-------------")

print("圖書命名規(guī)則:編號(hào)炫乓,書名,上傳時(shí)間献丑,例如:1末捣,《python全書》,2018-5-15")

print("1创橄、修改圖書? ? 2箩做、返回上一層")

e = input("請(qǐng)選擇你的操作:")

if e =="1":

for iin self.book:

print(i)

vi_booknum = int(input("****請(qǐng)選擇你要修改的圖書編號(hào)*****:"))

for iin self.book:

if vi_booknumin i:

vi_booknum1 = int(input("請(qǐng)輸入你要修改的圖書編號(hào):"))

vi_bookname = input("請(qǐng)輸入你要修改的圖書名:")

if re.match(r"^《.+》$", vi_bookname):

pass

? ? ? ? ? ? ? ? ? ? else:

print("書名錯(cuò)誤,請(qǐng)從新輸入")

self.vi_book()

vi_booktime = input("請(qǐng)輸入你要修改的時(shí)間:")

if re.match(r"^\d{4}-(\d|1[0-2])-(\d|1[\d]|2[\d]|3[0-1])$", vi_booktime):

pass

? ? ? ? ? ? ? ? ? ? else:

print("時(shí)間錯(cuò)誤妥畏,請(qǐng)重新輸入")

self.vi_book()

v = self.book.index(i)

self.book[v] = [vi_booknum1,vi_bookname,vi_booktime]

print("修改成功")

print("1邦邦、繼續(xù)修改? 2、返回")

a = int(input("請(qǐng)選擇你的操作:"))

if a ==1:

self.vi_book()

elif a ==2:

self.librarian()

else:

print("輸入不符合要求醉蚁,請(qǐng)重新輸入")

self.vi_book()

else:

print("沒有這個(gè)圖書")

self.vi_book()

elif e =="2":

self.librarian()

else:

print("輸入不符合要求燃辖,請(qǐng)重新輸入")

self.vi_book()

def cat_book(self):

print("------------查看圖書-------------")

print("1、查看圖書? ? 2网棍、返回上一層")

e = input("請(qǐng)選擇你的操作:")

if e =="1":

for iin self.book:

print(i)

print("查看成功")

print("1黔龟、繼續(xù)查看? 2、返回")

a = input("請(qǐng)選擇你的操作:")

if a =="1":

self.cat_book()

elif a =="2":

self.librarian()

else:

print("輸入不符合要求滥玷,請(qǐng)重新輸入")

self.cat_book()

elif e =="2":

self.librarian()

else:

print("輸入不符合要求捌锭,請(qǐng)重新輸入")

self.cat_book()

def run(self):

while True:

self.inter_1()

a = Lib()

a.run()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市罗捎,隨后出現(xiàn)的幾起案子观谦,更是在濱河造成了極大的恐慌,老刑警劉巖桨菜,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件豁状,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡倒得,警方通過(guò)查閱死者的電腦和手機(jī)泻红,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)霞掺,“玉大人谊路,你說(shuō)我怎么就攤上這事∑斜颍” “怎么了缠劝?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵潮梯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我惨恭,道長(zhǎng)秉馏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任脱羡,我火速辦了婚禮萝究,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锉罐。我一直安慰自己帆竹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布脓规。 她就那樣靜靜地躺著馆揉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抖拦。 梳的紋絲不亂的頭發(fā)上升酣,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音态罪,去河邊找鬼噩茄。 笑死,一個(gè)胖子當(dāng)著我的面吹牛复颈,可吹牛的內(nèi)容都是我干的绩聘。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼耗啦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凿菩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起帜讲,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤衅谷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后似将,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體获黔,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年在验,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玷氏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腋舌,死狀恐怖盏触,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤赞辩,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布雌芽,位于F島的核電站,受9級(jí)特大地震影響诗宣,放射性物質(zhì)發(fā)生泄漏膘怕。R本人自食惡果不足惜想诅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一召庞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧来破,春花似錦篮灼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至送朱,卻和暖如春娘荡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驶沼。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工炮沐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人回怜。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓大年,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親玉雾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子翔试,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,729評(píng)論 0 10
  • 8月22日-----字符串相關(guān) 2-3 個(gè)性化消息: 將用戶的姓名存到一個(gè)變量中复旬,并向該用戶顯示一條消息垦缅。顯示的消...
    future_d180閱讀 963評(píng)論 0 1
  • def statistics_books(books): """ 統(tǒng)計(jì)圖書不同種類對(duì)應(yīng)個(gè)數(shù) """ dic...
    測(cè)試探索閱讀 1,451評(píng)論 0 3
  • 本文主要講述官方提供的客戶端以及自己寫的增刪查改工具: ros_tool.py功能總匯,展示界面用了python的...
    追尋823閱讀 3,159評(píng)論 0 1
  • 一個(gè)城市的美麗 與風(fēng)景無(wú)關(guān) 一段歲月的輝煌 與成就無(wú)關(guān) 一些人的可愛 與身份驹碍、地位無(wú)關(guān) 再見了失都,鄭州 再見了 那些...
    風(fēng)鈴縹緲閱讀 1,039評(píng)論 10 27