【Python】實戰 --- 圖書管理系統

用分享的方式成長,用有趣的眼光看世界。 歡迎來到22 26 25的博客
熱愛編碼、算法、知識總結,不定期更新有趣、有料、有營養內容。 讓我們共同學習,共同進步。

好文推薦:   8種方法優雅地利用C++編程從1乘到20

                     一道微軟面試題引出的 int與unsigned隱式轉換問題

                     Facebook前身 哈佛“選美”網站Facemash核心算法 --- ELO等級分制度(附源碼)

 

寫在前面: 

利用python的列表數據結構模擬數據庫,實現了控制檯界面的圖書管理系統的後臺代碼。

功能都比較初級,但基本實現了   學生信息管理(CRUD),圖書信息管理(CRUD)及借閱信息管理(CRUD)

同時也具有如 : 輸入學號,則相應輸出該學生的所有借閱信息;輸入圖書名,則相應輸出該圖書目前被誰所借 等功能。

--2019.3.27


樣例展示: 


源碼:

import sys

books = [['BOOK1', '01'], ['BOOK2', '02'], ['BOOK3','03'], ['BOOK4', '04']]
users = [['01','A', '111111'], ['02','B', '111111']]
mbook = []



def login():
    print('\n================登錄==================')
    print('請輸入學號:', end='')
    num = input()
    print('請輸入用戶名:', end='')
    username = input()
    print('請輸入用戶密碼:', end='')
    password = input()
    if [num,username, password] in users:
        print('登錄成功!')
        book()
    else:
        print('\n用戶名不存在或密碼錯誤! 請重新登錄!')


def register():
    print('\n================註冊==================')
    num = input('請輸入學號:')
    username = input('請輸入用戶名:')
    password1 = input('請輸入用戶密碼:')
    password2 = input('請再次輸入用戶密碼:')
    if password1 == password2:
        users.append([num, username, password1])
        print('註冊成功!')
        login()
    else:
        print('\nEOF 404 ! 請重新註冊!')
        register()


def main():
    while True:
        print('\n')
        print('------歡迎來到   的圖書借閱管理系統-----')
        print('\n')
        print('================主頁==================')
        print('==  [登錄(1)]  _____  [註冊(2)]  ==')
        v = int(input('---請選擇您要進行的操作:'))
        print('=====================================\n')

        if v == 2:
            register()
        elif v == 1:
            login()


def book():
    while True:
        print('\n================圖書操作==================')
        print('[ 歸還書籍(1) ]')
        print('[ 借閱書籍(2) ]')
        print('[ 查找書籍信息(3) ]')
        print('[ 查看剩餘書籍(4) ]')
        print('[ 查看個人借閱歷史(5) ]')
        print('[ 返回首頁(6) ]')
        print('[ 退出(0) ]')
        v = int(input('---請選擇您要進行的操作:'))
        print('=====================================\n')

        if v == 1:
            print('\n================歸還書籍==================')
            bookname = input('請輸入書名:')
            bnum = input('請輸入編號:')
            books.append([bookname, bnum])
            mbook.append([bookname, ID, '還'])
            print('\n還書成功!')
        elif v == 2:
            print('\n================借閱書籍==================')
            bookname = input('請輸入書名:')
            bnum = input('請輸入編號:')
            ID = input('請輸入學號: ')
            if [bookname,  bnum] in books:
                mbook.append([bookname,ID,'借'])
                books.remove([bookname, bnum])
                print('\n借書成功!')
            else:
                print('\n該書籍不存在!自動返回...')
        elif v == 3:
            print('\n================查找書籍信息==================')
            bookname = input('請輸入書名:')
            j = 0
            for i in books:
                if i[0] == bookname:
                    j = 1
                    print('書名:', i[0], '編號:', i[1] )
                    print('該書仍可借取,如需借入請進行借書操作')
            if j == 0:
                for k in mbook:
                    if k[0] == bookname:
                        print('該書已被借取,借閱人是: ', k[1] )
            print('\n查找結束!\n')
        elif v == 4:
            print('\n================查看剩餘書籍==================')
            print('\n書名\t\t', '編號\t\t\t')
            for i in books:
                print(i[0], '\t\t', i[1])
            print()
        elif v == 5:
            print('\n================查看個人借閱歷史==================')
            id = input('請輸入所查人學號: ')
            p = 0
            for i in mbook:
                if i[1] == id:
                    print(i[0],i[2])
                    p = 1
            if p == 0:
                print('無歷史')
        elif v == 0:
            sys.exit(0)
        elif v == 6:
            main()


main()

如果有什麼要補充的,歡迎下方👇評論區留言。

1份讚許 = 100分的認可,如果感覺還不錯,點個贊👍 支持一下吧 ~

不定期分享 有趣、有料、有營養內容,歡迎 訂閱關注 🤝 我的博客 ,期待在這裏與你相遇 ~

上一篇: 8種方法優雅地利用C++編程從1乘到20

下一篇:  Facebook前身 哈佛大學"選美"網站核心算法 -- ELO等級分制度(附源碼)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章