午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 教你用python實現一個無界面的小型圖書管理系統

教你用python實現一個無界面的小型圖書管理系統

熱門標簽:沈陽人工外呼系統價格 如何申請400電話費用 池州外呼調研線路 外呼系統哪些好辦 武漢外呼系統平臺 沈陽防封電銷卡品牌 江西省地圖標注 沈陽外呼系統呼叫系統 富錦商家地圖標注

一、需求了解

功能模塊

圖書信息

二、環境準備

安裝mysql數據庫

參考文章:

MySQL數據庫壓縮版本安裝與配置

MySQL msi版本下載安裝圖文教程

創建數據庫表

  • 創建數據庫

CREATE DATABASE bookmanage;

  • 使用數據庫

use bookmanage;

  • 創建表

create table books(
id int unsigned primary key auto_increment not null,
name varchar(20) default “”,
position varchar(40) default “”,
status enum(‘在庫', ‘出借') default ‘在庫',
borrower varchar(20) default “”
);

  • 插入數據

insert into books(name, position) value (‘python從入門到放棄', ‘A-1-1');

  • 查詢數據

select * from books where id=2;

  • 修改數據

update books set name=‘python';

  • 刪除數據

delete from book where id=3;

三、代碼實現

引入pymysql模塊

  • 安裝pymysql

命令:pip install pymysql

  • 封裝操作數據庫模塊
# -*- coding: utf-8 -*-
"""
=============================== 
@Time    : 2021/5/18 15:56
@Author  : flora.chen
@FileName: handle_mysql.py
@Software: PyCharm
===============================
"""
import pymysql

class MysqlDB:
    """
    操作mysql數據庫
    """
    def __init__(self, host, user, pwd, database=None, port=3306):
        """
        初始化數據庫鏈接
        :param host: 主機地址
        :param user: 用戶名
        :param pwd: 密碼
        :param database: 數據庫名稱,默認為空
        :param port: 端口號,默認3306
        """
        self.conn = pymysql.connect(
            host=host,
            user=user,
            password=pwd,
            database=database,
            port=port,
            cursorclass=pymysql.cursors.DictCursor
        )
        # 創建一個游標對象
        self.cur = self.conn.cursor()

    def update(self, sql):
        """
        進行增刪改操作
        :param sql: 需要執行的SQL
        :return:
        """
        # 執行SQL
        result = self.cur.execute(sql)
        # 提交事務
        self.conn.commit()
        return result

    def query(self, sql, one=False):
        """
        進行查詢操作
        :param one: 判斷是要返回所有查詢數據還是第一條,默認是所有
        :param sql: 要執行的SQL
        :return:
        """
        # 執行SQL
        self.cur.execute(sql)
        if one:
            return self.cur.fetchone()
        else:
            return self.cur.fetchall()

    def close(self):
        """
        斷開游標,關閉數據庫連接
        :return:
        """
        self.cur.close()
        self.conn.close()


if __name__ == "__main__":
    db = MysqlDB(host="localhost", user="root", pwd="root")
    print(db.query("select * from bookmanage.books"))
    # db.update("insert into bookmanage.books(name, position) value ('python從入門到放棄', 'A-1-1');")

圖案管理系統后臺實現

# -*- coding: utf-8 -*-
"""
=============================== 
@Time    : 2021/5/18 16:39
@Author  : flora.chen
@FileName: bookmanager.py
@Software: PyCharm
===============================
"""
from handle_mysql import MysqlDB

db = MysqlDB(host="localhost", database="bookmanage", user="root", pwd="root")


class BookManage:
    """
    圖書管理系統
    """

    @staticmethod
    def print_menu():
        """
        菜單打印
        :return:
        """
        print("---------------------菜單-------------------------")
        print("[1]: 添加圖書")
        print("[2]: 修改圖書")
        print("[3]: 刪除圖書")
        print("[4]: 查詢圖書")
        print("[5]: 圖書列表")
        print("[6]: 出借圖書")
        print("[7]: 歸還圖書")
        print("[8]: 退出")

    def add_book(self):
        """
        [1]: 添加圖書
        :return:
        """
        print("****************添加圖書****************")
        name = input("請輸入書名:")
        position = input("請輸入圖書位置:")
        if name and position:
            db.update("insert into books(name, position) value ('{}', '{}');".format(name, position))
            print("圖書添加成功")
        else:
            print("書名或者圖書位置不能為空,請重新輸入!")

        num = input("繼續添加請輸入1, 回車退回主菜單")
        if num == "1":
            self.add_book()

    def update_book(self):
        """
        [2]: 修改圖書
        :return:
        """
        print("****************修改圖書****************")
        book_id = input("請輸入需要修改的圖書ID:")
        result = db.query("select * from books where id={};".format(book_id), one=True)
        if result:
            print("當前數據為:{}".format(result))
            name = input("重新輸入書名,不修改輸入回車:") or result["name"]
            position = input("重新輸入位置,不修改輸入回車:") or result["position"]
            db.update("update books set name='{}', position='{}' where id={};".format(name, position, book_id))
            print("修改成功")
        else:
            print("您輸入的圖書ID不存在,請重新輸入~")

        num = input("繼續修改請輸入1, 回車退回主菜單")
        if num == "1":
            self.update_book()

    def delete_book(self):
        """
        [3]: 刪除圖書
        :return:
        """
        print("****************刪除圖書****************")
        book_id = input("請輸入需要修改的圖書ID:")
        result = db.query("select * from books where id={};".format(book_id), one=True)
        if result:
            print("當前數據為:{}".format(result))
            confirm_num = input("確定需要刪除這本書嗎?確認請按1,取消請按2:")
            if confirm_num == "1":
                db.update("delete from books where id={};".format(book_id))
                print("刪除成功")
            else:
                print("已確認不刪除該書籍~")
        else:
            print("系統中未找到該書籍!")

        num = input("繼續刪除請輸入1, 回車退回主菜單")
        if num == "1":
            self.delete_book()

    def query_book(self):
        """
        [4]: 查詢圖書
        :return:
        """
        print("****************查詢圖書****************")
        name = input("請輸入您要查詢的圖書名稱(模糊匹配):")
        if name:
            result = db.query("select * from books where name like '%{}%';".format(name))
            if result:
                print("當前查詢到如下書籍信息:{}".format(result))
            else:
                print("未查詢到相關書籍信息~")
        else:
            print("書名不能為空!")

        num = input("繼續查詢請輸入1, 回車退回主菜單")
        if num == "1":
            self.query_book()

    def book_list(self):
        """
        [5]: 圖書列表
        :return:
        """
        print("****************圖書列表****************")
        result = db.query("select * from books;")
        for i in result:
            print("編號:{}, 書籍名:{}, 位置:{}, 狀態:{}, 借閱人:{}".format(i["id"], i["name"], i["position"], i["status"],
                                                               i["borrower"]))

    def borrow_book(self):
        """
        [6]: 出借圖書
        :return:
        """
        print("****************出借圖書****************")
        book_id = input("請輸入需要借閱的圖書ID:")
        result = db.query("select * from books where id={};".format(book_id), one=True)
        if result:
            if result["status"] == "出借":
                print("抱歉,該書已經借出!")
            else:
                while True:
                    borrower = input("請輸入借閱者的名字:")
                    if borrower:
                        db.update("update books set borrower='{}' where id={};".format(borrower, book_id))
                        db.update("update books set status='出借' where id={};".format(book_id))
                        print("圖書借閱成功~")
                        break
                    else:
                        print("借閱者的名字不能為空, 請重新輸入")
        else:
            print("未查詢到相關書籍信息~")

        num = input("繼續借閱請輸入1, 回車退回主菜單")
        if num == "1":
            self.borrow_book()

    def back_book(self):
        """
        [7]: 歸還圖書
        :return:
        """
        print("****************歸還圖書****************")
        book_id = input("請輸入需要歸還的圖書ID:")
        result = db.query("select * from books where id={};".format(book_id), one=True)
        if result:
            if result["status"] == "在庫":
                print("該書是在庫狀態,請確認圖書編號是否正確!")
            else:
                db.update("update books set status='在庫' where id={};".format(book_id))
                db.update("update books set borrower='' where id={};".format(book_id))
                print("書籍歸還成功~")
        else:
            print("未查詢到相關書籍信息~")

        num = input("繼續歸還書籍請輸入1, 回車退回主菜單")
        if num == "1":
            self.borrow_book()

    def quit(self):
        """
        [8]: 退出
        :return:
        """
        print("****************退出****************")
        db.close()

    def main(self):
        """
        程序運行的流程控制
        :return:
        """
        print("---------------歡迎進入圖書管理系統----------------")
        while True:
            self.print_menu()
            num = input("請輸入選項:")
            if num == "1":
                self.add_book()
            elif num == "2":
                self.update_book()
            elif num == "3":
                self.delete_book()
            elif num == "4":
                self.query_book()
            elif num == "5":
                self.book_list()
            elif num == "6":
                self.borrow_book()
            elif num == "7":
                self.back_book()
            elif num == "8":
                self.quit()
                break
            else:
                print("您的輸入有誤~ 請按照菜單提示輸入,謝謝!")


if __name__ == "__main__":
    book = BookManage()
    book.main()

到此這篇關于教你用python實現一個無界面的小型圖書管理系統的文章就介紹到這了,更多相關Python實現圖書管理系統內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python函數實現學員管理系統
  • python面向對象版學生信息管理系統
  • Python實現學生管理系統(面向對象版)
  • python學生信息管理系統實現代碼
  • 教你用Python實現簡易版學生信息管理系統(含源碼)
  • 基于Python實現的購物商城管理系統
  • 一篇文章教你用Python實現一個學生管理系統

標簽:呂梁 常德 黑龍江 通遼 阿里 銅川 潛江 株洲

巨人網絡通訊聲明:本文標題《教你用python實現一個無界面的小型圖書管理系統》,本文關鍵詞  教,你用,python,實現,一個,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《教你用python實現一個無界面的小型圖書管理系統》相關的同類信息!
  • 本頁收集關于教你用python實現一個無界面的小型圖書管理系統的相關信息資訊供網民參考!
  • 推薦文章
    亚洲欧美www| 国产成人在线网址| 中文字幕乱码中文字幕| 26uuu久久综合| 91麻豆精品国产综合久久久久久| 国产97在线视频| 成熟了的熟妇毛茸茸| 91视频综合网| 国产+成+人+亚洲欧洲自线| 欧美日韩国产a| 国产精品久久久久久久久久久久| 国产视频九色蝌蚪| 成人免费看片98| 久久亚洲私人国产精品va媚药| 亚洲精品在线91| 欧美激情专区| 免费在线观看黄色小视频| 国产精品一区免费视频| 日本国产一区二区| 国产精品国内视频| 国产一级做a爰片久久| 日韩污视频在线观看| 亚洲欧美丝袜中文综合| 精品久久香蕉国产线看观看亚洲 | 国产精品美女主播| 人妻少妇偷人精品久久久任期| 在线观看xxxx| 黄色成人av网| 热久久免费国产视频| 欧美精品色婷婷五月综合| 日韩经典在线观看| 国产乱子轮精品视频| 亚洲精品成人久久电影| 国产精品h视频| 久久精品一级片| 91丨porny丨户外露出| 亚洲精品一区二区三区香蕉 | 日日骚欧美日韩| 精品国产免费视频| 久久久久se| www.黄色com| 国产色产综合产在线视频| 国产一区二区三区免费视频| 日韩成人三级视频| aaaaaa毛片| 亚洲老司机在线| 91国产在线播放| 一女三黑人理论片在线| 北岛玲一区二区三区四区| 亚洲福利精品在线| 国产精品99导航| 国产精品成人99一区无码| 国产成人av资源| 日韩中文第一页| 天天色综合社区| 老司机精品视频在线| 亚洲精品一区久久久久久| 精品欧美一区二区精品久久| 国产污视频在线观看| 精品久久久久久亚洲精品| 久热国产精品视频一区二区三区| 欧美日韩午夜视频| 亚洲精品成人天堂一二三| 亚洲xxxxx| 波多野结衣家庭教师| 午夜国产精品一区| 国产精品美女黄网| 老熟妇高潮一区二区三区| 一区二区欧美在线观看| www国产亚洲精品| 日本视频网站在线观看| 91精品国产91久久久久久最新毛片 | 性欧美办公室18xxxxhd| 国产18无套直看片| 精品magnet| 成人污网站在线观看| 青青草原综合久久大伊人精品优势| 亚洲女人天堂色在线7777| 一二三级黄色片| 国产亚洲一区二区三区四区 | 26uuu亚洲综合色欧美| 97夜夜澡人人双人人人喊| 中文天堂在线播放| 日韩精品一区二区在线观看| 一区二区xxx| 国产成人免费av在线| 国产精品女人网站| 国产九色91回来了| 中文字幕在线看视频国产欧美在线看完整 | 六月婷婷激情综合| 亚洲日本在线播放| 欧美另类精品xxxx孕妇| 成人做爰视频网站| 欧美一级高清片| 九色porny91| 中文字幕av一区二区三区高 | 精品久久久久久中文字幕| 丰满少妇久久久| 成+人+亚洲+综合天堂| 精品国产乱码久久久久久郑州公司| 亚洲天堂自拍偷拍| 久久国产精品免费视频| 亚洲精品一区二区三区影院忠贞| 日韩欧美精品在线观看| av在线播放天堂| 国产亚洲精品7777| 一区二区三区四区久久| 成人免费视频播放| 久久精品日韩精品| 日本欧美在线观看| 亚洲国产天堂久久国产91| 五月婷婷综合在线观看| 色天使色偷偷av一区二区| 亚洲a级黄色片| 一区二区三区毛片| 日韩av黄色网址| ...av二区三区久久精品| 亚洲欧美精品在线观看| 丁香六月久久综合狠狠色| 免费在线观看一区二区| 国产麻豆精品95视频| 欧美日韩一区二区三区免费| 日韩一区欧美二区| 成人妇女免费播放久久久| 亚洲精品中文字幕成人片| 国产精品久久久久久久午夜| 国产又大又粗又长| 日韩av日韩在线观看| 朝桐光av在线一区二区三区| 2020久久国产精品| 国产熟女一区二区三区四区| 国内精品一区二区三区| 一二三四区在线| 91极品女神在线| 中文字幕日产av| 国产精品香蕉在线观看| 日韩国产欧美在线播放| 免费国产一区| 成人爱爱电影网址| 日本丰满大乳奶| 亚洲少妇中出一区| 色天使在线观看| 91精品免费在线| 免费在线黄色片| 97国产精品久久| 国产后入清纯学生妹| 国产一区二区不卡视频| 精品在线观看免费| 青青草原国产免费| 亚洲线精品一区二区三区| 日韩av.com| 亚洲国产成人精品久久| 伊人中文字幕在线观看| 91精品国产色综合| 久久精品亚洲| 伊人久久青草| 亚洲高清一区二区三区| 久久精品—区二区三区舞蹈| 日韩三级成人av网| 欧美性受xxxx狂喷水| 日本高清一区| 亚洲乱码中文字幕| av网在线播放| 国产做受69高潮| 精品在线免费视频| 艳母动漫在线观看| 亚洲成av人片www| 日本精品久久久久中文| 久久久免费观看| 久久 天天综合| 青青在线免费观看视频| 欧美日韩在线播放| 日韩视频在线观看一区| 亚洲一区二区三区久久| 风间由美性色一区二区三区| 国产成人黄色网址| 国产午夜精品免费一区二区三区| 99久久亚洲精品日本无码| 亚洲国产一区二区三区在线| 一区二区三区四区在线播放 | 欧美特黄aaaaaa| 国产精品欧美久久| 亚洲情趣在线观看| 男人av资源站| 国产精品久久久久福利| 久久这里只精品最新地址| 亚洲最大成人在线观看| 亚洲精品午夜精品| 日日摸夜夜添夜夜添精品视频| 超碰成人免费在线| 日韩av在线高清| 婷婷五月综合久久中文字幕| 337p粉嫩大胆噜噜噜鲁| 亚洲天堂男人天堂女人天堂| 久久一日本道色综合久久| 91.com在线| 亚洲跨种族黑人xxx| 免费日本视频一区| 免费av网址在线| 色av中文字幕一区| 丁香六月综合激情| 三级男人添奶爽爽爽视频| 国产999精品视频| 久久精品在这里| 91插插插插插插| 国产精选在线观看91| 在线观看91视频| 一级片一区二区三区| 800av在线免费观看| 亚洲区中文字幕| 国产成人精品影视| 国精产品一区二区三区| 国产精品国产精品国产专区蜜臀ah| 午夜av电影一区| www.久久精品视频| 很污的网站在线观看| 久久婷婷国产麻豆91天堂| 99国产麻豆精品| 亚洲一级生活片| 婷婷久久五月天| 亚洲国产天堂久久国产91| 美女一区二区久久| 久草免费资源站| 国产日韩欧美中文| 亚洲电影中文字幕在线观看| 日韩欧美激情视频| 日本福利视频在线| 97人人做人人爱| 午夜视频在线观看一区二区 | 国产视频一区二区在线| 日韩少妇高潮抽搐| 一区二区三区国产福利| 日韩一区二区三区在线| 久久精品国产99久久6| 人人妻人人藻人人爽欧美一区| 久久久精品有限公司| 日韩精品高清在线观看| 久久久久国产免费免费| 日韩激情一区二区三区| 免费国产a级片| 国产成人精品亚洲精品| 欧美日韩不卡一区二区| 麻豆精品在线播放| 午夜国产福利视频| 免费成人进口网站| 欧美高清电影在线看| 日韩欧美在线观看视频| 日本xxxxwww| 午夜在线观看一区| 丰满人妻一区二区三区53号| 欧美激情视频播放| 在线观看av不卡| 国产成人综合在线播放| 日本中文字幕在线| 麻豆网站免费观看| 99国产超薄丝袜足j在线观看| 亚洲码在线观看| 一区二区三区产品免费精品久久75| 日韩精品91亚洲二区在线观看| 丰满少妇一区二区| 宅男一区二区三区| 97在线日本国产| 7777精品伊人久久久大香线蕉| 国产综合色精品一区二区三区| 日本黄区免费视频观看 | 青青草成人激情在线| 久久亚洲综合国产精品99麻豆精品福利| 国产精品欧美一区喷水| 日韩有码一区二区三区| 男女免费视频网站| 亚洲视频一二三四| 国产chinesehd精品露脸| 亚洲电影在线播放| 日产国产高清一区二区三区| 免费在线视频观看| 午夜免费一区二区| 国产精品亚洲一区| 欧美另类在线观看| 欧洲一区在线电影| 国产三级欧美三级日产三级99| 日本免费一区视频| 精品视频一区二区在线观看| 色婷婷综合网站| 日本在线观看一区二区三区| 欧美一级bbbbb性bbbb喷潮片| 欧美精品久久天天躁| 亚洲三级小视频| 国产成人日日夜夜| ,亚洲人成毛片在线播放| 91免费在线看片| 国产探花在线观看视频| 国产成人免费高清视频| 国产精品12| 日本午夜人人精品| 亚洲日韩中文字幕| 欧美午夜免费电影| 亚洲欧美日韩系列| 91久久精品国产91性色69| 九九九在线视频| 欧美图片一区二区| 国产福利在线免费| 久久精品无码中文字幕| 神马欧美一区二区| 国产精品午夜av在线| 国产精品一区二区三区免费视频| 欧美日本啪啪无遮挡网站| 亚洲女人天堂成人av在线| 欧美一区二区三区公司| 91国产视频在线观看| 亚洲私人影院在线观看| 久久久高清一区二区三区| 国产精品123| 六月丁香婷婷色狠狠久久| 天天色综合av| 欧美一区二区黄片| 久久国产乱子伦精品| 国产亚洲自拍av| 欧美做受高潮6| 18深夜在线观看免费视频| 日日噜噜噜噜久久久精品毛片| 亚洲一区二区三区加勒比| 国产精品久久精品国产| 亚洲一区国产精品| 国产极品jizzhd欧美| 3d动漫精品啪啪| 欧美久久久久久久久中文字幕| 欧美在线免费视屏| 欧洲视频一区二区| 91久久香蕉国产日韩欧美9色| 亚洲人精品午夜| 国产精品国产三级国产aⅴ原创| 国产日韩欧美一区二区三区综合| 国产一区 二区 三区一级| 另类中文字幕网| 精品一区二区成人精品| 美女网站久久| 奇米亚洲午夜久久精品| 久久99久国产精品黄毛片色诱| 性一交一乱一透一a级| 五月婷婷六月丁香| 天天操天天舔天天干| 久久久久久黄| 日韩中文字幕影院| 久久久久久天堂| 日韩美一区二区| 一级黄色片免费看| 国产一区二区在线视频观看| a毛片在线免费观看| 四虎永久在线精品免费网址| 青青青伊人色综合久久| 麻豆免费精品视频| av午夜精品一区二区三区| 国产精品私人影院| 亚洲午夜羞羞片| 精品人伦一区二区三区蜜桃免费| 91成人免费在线| 精品国产乱码久久久久久老虎| 日韩三级免费观看| 亚洲欧美日韩图片| 欧美成人免费在线视频| 日本欧美在线视频| 91免费精品国偷自产在线| 欧美亚洲免费在线| 国产主播自拍av| 亚洲精品国产一区二区三区| 人妻丰满熟妇aⅴ无码| 538精品在线观看| 亚洲高清视频免费观看| 丝袜诱惑制服诱惑色一区在线观看| 日本欧美一区二区| 欧美国产日韩一二三区| 精品国产户外野外| 日韩视频中午一区| 久久久999成人| 国产91精品网站| 欧美精品一区在线| 日本在线观看a| 久操视频在线观看免费| 日产欧产va高清| 久久亚洲综合| 成人精品免费看| 欧美色道久久88综合亚洲精品| 欧洲生活片亚洲生活在线观看| 色爱av美腿丝袜综合粉嫩av | 欧美一区二区三区四区高清| 久久中文久久字幕| 99久热re在线精品视频| 欧美黄网站在线观看| 亚洲精品色午夜无码专区日韩| 欧美日韩中文视频| 国产精品久久久久久久久久久久久久久久 | 九九热这里只有在线精品视| 精品视频一区在线| 国产欧美一区二| 毛片基地在线观看| 国产91富婆露脸刺激对白| 欧美性猛片aaaaaaa做受| 欧美野外猛男的大粗鳮| 九一免费在线观看| 久久婷婷五月综合| 视频一区视频二区中文字幕| 午夜精品成人在线视频| 欧美成人午夜视频| 中文网丁香综合网| 美国一级黄色录像| 免费人成在线不卡| 色婷婷综合久久久久中文| 国产91成人在在线播放| 热99这里只有精品| 国产午夜精品无码|