<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了python實現簡易圖書管理系統的具體程式碼,供大家參考,具體內容如下
1.新增書籍
2.查詢資料
3.借書
儲存方式 ,用excel儲存到硬碟上或者用.txt檔案儲存
1.用excel儲存
# 一、介紹 # 主要功能實現 # 1、借書 # 2、新增新書 # 3、查詢圖書 # 資料儲存:excel表 import xlwt import xlrd import xlutils.copy import os #book = {"位置":"","書名":"","價格":"","作者":""} #儲存方式 用excel title =["位置","書名","價格","作者"] #檢視當前的書本數,也就行號 def read_book_num(): path = os.path.join(os.getcwd()+r'圖書.xls') print(path) flag = os.path.exists(path) if(flag): book_excel = xlrd.open_workbook("圖書.xls") sheet1 = book_excel.sheets()[0] book_num = sheet1.nrows else: book_num = 0 return book_num def add_book(book_num): #判斷excel是否存在,如果不存在,就建立 path = os.path.join(os.getcwd()+r'圖書.xls') flag = os.path.exists(path) print("flag",flag) if(flag): #如果存在,就開啟excel book_excel = xlrd.open_workbook("圖書.xls") #並複製之前的已經存在的資料 book_excel = xlutils.copy.copy(book_excel) sheet1 = book_excel.get_sheet(0) #sheet1 = book_excel.sheets()[0] else: book_excel = xlwt.Workbook("圖書.xls") #新建excel sheet1 = book_excel.add_sheet(sheetname="圖書表單",cell_overwrite_ok=True) while(1): #列印提示 button_num = input("請選擇你的操作n:"+"1.新增新書n"+"2.退出請按qn") if(button_num == 'q'): break elif (button_num == "1"): #輸入一本書的所有資訊,並且先儲存到book裡面 book = [] #清空書本資訊 input_value = '' #清空輸入 for i in range(4): print("請輸入:",title[i]) input_value = input() book.append(input_value) #儲存到硬碟(將輸入的資料儲存到excel中) for i in range(4): #寫入第book_num行資料 sheet1.write(book_num,i,book[i]) book_num = book_num +1 #總書數量加1 book_excel.save("圖書.xls") print("新增成功") else: print("輸入無效,請重新輸入!") def search_book(): #開啟excel book_excel = xlrd.open_workbook("圖書.xls") sheet1 = book_excel.sheets()[0] book_num = sheet1.nrows while(1): #輸入書名 chose= input("請輸入你的操作:n"+"1.查詢書籍:n"+"2.退出請按qn") if(chose == 'q'): break elif (chose == '1'): bookname = input("請輸入書名:") for i in range(0,book_num): if(bookname == sheet1.cell(i,0).value): print("查詢成功,查詢結果為n",sheet1.row_values(i)) return else: print("查詢失敗,本書庫沒有此書") return else: print("操作有誤,請重新輸入!") def borrow_book(): #開啟excel book_excel = xlrd.open_workbook("圖書.xls") sheet1 = book_excel.sheets()[0] book_num = sheet1.nrows book_excel_copy = xlutils.copy.copy(book_excel) sheet1_copy = book_excel_copy.get_sheet(0) #重新建立一個excel,用於儲存更新後的資料 # book_excel_new = xlwt.Workbook("圖書.xls") #新建excel # sheet1_new = book_excel_new.add_sheet(sheetname="1",cell_overwrite_ok=True) while(1): #輸入書名 print("1.請輸入借書書名n2.按q退出借書介面") bookname = input() if(bookname == 'q'): return else: #查詢 a = 0 for i in range(0, book_num): if( bookname == sheet1.cell(i, 0).value ): for j in range(4): a = i + 1 while(book_num-a): sheet1_copy.write(i,j,sheet1.cell(a,j).value)#清除位置 a += 1 print("借閱成功") book_excel_copy.save('圖書.xls') return # else: # a = i # sheet1_copy.write(i,j,sheet1.cell(a,j).value)#清除位置 #book_excel_copy.save('圖書.xls') if __name__ == '__main__': book_num = read_book_num() print(book_num) while(1): print("******圖書管理系統****") print("******1.新增新書******") print("******2.查詢書籍******") print("******3.借書*********") print("******4.退出*********") op = input("請輸入你的操作:") if(op == "1"): add_book(book_num) elif (op == "2"): search_book() elif (op == "3"): borrow_book() elif (op == "4"): break else: print("輸入無效,請重新輸入!")
2.用txt檔案方式儲存
def add_book(): file = open("圖書管理系統.txt","a+") print("請輸入要新增的書籍資訊:") id = input("id:") name = input("bookname:") author = input("author:") #table = [name,id,author] file.write(id+" "+name+" "+author+"r") print("書籍新增成功!") file.close() def serch_book(): file = open("圖書管理系統.txt","r") name = input("請輸入要查詢書籍名稱:") read_data_all = [] count = len(file.readlines()) #print(count) file.seek(0,0) #需要將檔案指標移動到開頭 for i in range(count): read_data = file.readline().split() read_data_all.append(read_data) for read_data in read_data_all: # print(type(read_data)) if(name==read_data[0]): print("查詢到的資料資訊為:",read_data) break else: print("查詢失敗") file.close() return read_data def borrow_book(): file = open("圖書管理系統.txt","r+") #先查詢書籍存不存在,如果存在就借出 count = len(file.readlines()) read_data_all= [] file.seek(0,0) #需要將檔案指標移動到開頭 for i in range(count): read_data = file.readline().split() read_data_all.append(read_data) print(read_data_all) file.close() book = serch_book() file = open("圖書管理系統.txt","w") for line in read_data_all: if book==line: continue line_to_str = ' '.join(line) #將列表裝換成字串 file.write(line_to_str+"n") if __name__ == "__main__": #open直接開啟一個檔案,如果檔案不存在則建立檔案 while(1): print("******圖書管理系統****") print("******1.新增新書******") print("******2.查詢書籍******") print("******3.借書**********") print("******4.退出**********") op = input("請輸入你的操作:") if(op == "1"): add_book() elif(op == "2"): serch_book() elif(op == "3"): borrow_book() else: break
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45