图书管理系统
1.登陆(加密)
2.信息查看
3.添加
4.修改
5.删除
import xlrd
from xlutils.copy import copy
import hashlib #加密
def login(username, password):
#读取excel信息
book = xlrd.open_workbook("book.xls")
sheet = book.sheet_by_name("user")
r = sheet.nrows #行数
c = sheet.ncols #列数
flag = False #状态
'''
m--username在的列下标
p--passord在的列下标
q--state在的列下标
'''
m = 0 #username用户名所在的列数
p = 0 #密码所在的列数
q = 0 #状态所在的列数
for j in range(c):#循环列,看哪一列是用户名或者密码
if sheet.cell(0,j).value == "username":
m = j
elif sheet.cell(0,j).value == "password":
p = j
elif sheet.cell(0,j).value == "state":
q = j
password = hashlib.md5(password.encode("utf-8")).hexdigest()
for i in range(1,r): #先循环行数
if sheet.cell(i,q).value == "0" and sheet.cell(i,m).value == username and sheet.cell(i,p).value == password:
flag = True
break
return flag
def showBooks():
book = xlrd.open_workbook("book.xls")
sheet = book.sheet_by_name("book")
r = sheet.nrows#行数
c = sheet.ncols#列数
q = 0 #状态
for j in range(c):#循环列,看哪一列是用户名或者密码
if sheet.cell(0,j).value == "state":
q = j
for i in range(1,r):
if sheet.cell(i,q).value=="1":
continue
for k in range(c):
if k==q:
continue
print(sheet.cell(i,k).value,end=" ")
print()
def addBook(a): #添加
book = xlrd.open_workbook("book.xls")
sheet = book.sheet_by_name("book")
r = sheet.nrows
c = sheet.ncols
book_copy = copy(book)
sheet_copy = book_copy.get_sheet(1)
for i in range(c):
try:
sheet.copy.write(r,i,a[i])
except:
break
book_copy.save("book.xls")
def updateBook(a): #修改
book = xlrd.open_workbook("book.xls")
sheet = book.sheet_by_name("book")
r = sheet.nrows
c = sheet.ncols
book_copy = copy(book)
sheet_copy = book_copy.get_sheet(1)
cr = 0#要修改的行号
for i in range(r):#目的是找到当前行号
if sheet.cell(i,0).value==a[0]:#找行号
cr = i
break
for i in range(c):
try:
sheet.copy.write(r, i, a[i])
except:
break
book_copy.save("book.xls")
def deleteBook(id):#删除
book = xlrd.open_workbook("book.xls")
sheet = book.sheet_by_name("book")
r = sheet.nrows
c = sheet.ncols
book_copy = copy(book)
sheet_copy = book_copy.get_sheet(1)
cr = 0 # 要修改的行号
for i in range(r):
if sheet.cell(i, 0).value == id:
cr = i
break
sheet_copy.write(cr,c-1,"1")
book_copy.save("book.xls")
import test1 as book
import hashlib
import xlrd
from xlutils import copy
print("===========================欢迎登陆图书管理系统=============================")
count = 0
while count < 3: #三次失败就锁定账号
username = input("请输入用户名:")
password = input("请输入密码:")
result = book.login(username,password)
if result:
print("1--查看读书信息")
print("2--添加读书信息")#显示增删改查操作
print("3--修改读书信息")
print("4--删除读书信息")
op = input("请输入操作编号:")
if op == "1":
book.showBooks()
break
elif op == "2":
a = input("请输入图书编号:")
b = input("请输入图书名字:")
c = input("请输入图书出版社:")
d = input("请输入图书价格:")
e = input("请输入图书作者:")
book_ = [a,b,c,d,e,"0"]
book.addBook(book_)
break
elif op == "3":
a = input("请输入图书编号:")
b = input("请输入图书名字:")
c = input("请输入图书出版社:")
d = input("请输入图书价格:")
e = input("请输入图书作者:")
book_ = [a, b, c, d, e]
book.updateBook(book_)
break
elif op == "4":
id = input("请输入图书编号:")
book.deleteBook(id)
break
else:
print("请输入正确编号")
break
else:
print("密码错误!")
count += 1
if count == 3: #说明三次登陆都失败
book = xlrd.open_workbook("book.xls")
sheet = book.sheet_by_name("user")
r = sheet.nrows
c = sheet.ncols
book_copy = copy.copy(book)
sheet_copy = book_copy.get_sheet(0)
for i in range(r):
if sheet.cell(i,1).value == username:
sheet_copy.write(i,3,"1")
break
book_copy.save("book.xls")