从零开始——Python学习笔记(练习:图书管理系统)

综合练习:图书管理系统
图书管理模块
1.登陆:输入密码错误超过三次锁定账户,密码使用加密
2.信息查看
3.添加
4.修改
5.删除
注:
Excel文件位置:e://book.xls
sheet1(user):id, username, password, state
sheet2(book):id, name, publisher, price, author, state
模块文件:libmodu01.py

import xlrd #读取excel文件
from xlutils.copy import copy
import hashlib #加密

def login(username, password):
book = xlrd.open_workbook(“e://book.xls”)
sheet = book.sheet_by_name(“user”) #操作book.xls中的user(sheet1)
r = sheet.nrows #行
c = sheet.ncols #列
flag = False
m = 0 #username在列下标
p = 0 #password……
q = 0 #state……

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(“e://book.xls”)
sheet = book.sheet_by_name(“book”)
r = sheet.nrows
c = sheet.ncols
q = 0
for j in range©:
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©:
if k == q:
continue
print(sheet.cell(i,k).value,end="")
print()

def addBook(a):
book = xlrd.open_workbook(“e://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©:
try:
sheet_copy.write(r,i,a[i])
except:
break
book_copy.save(“book.xls”)

def updateBook(a):
book = xlrd.open_workbook(“e://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®:
if sheet.cell(i,0).value == a[0]:
cr = i
break
for i in range©:
try:
sheet_copy.write(cr,i,a[i])
except:
break
book_copy.save(“book.xls”)

def deleteBook(id):
book = xlrd.open_workbook(“e://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®:
if sheet.cell(i,0).value == id:
cr = i
break
sheet_copy.write(cr,c-1,“1”)
book_copy.save(“book.xls”)

#图书管理系统
import libmodu01 as book
import xlrd, hashlib
from xlutils import copy as cy #from 库 import 模块 as 简称
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("密码或用户名错误")
    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 = cy.copy(book)
sheet_copy = book_copy.get_sheet(0)
for i in range®:
if sheet.cell(r, 1).value == username:
sheet_copy.write(r, 3, “1”)
break
book_copy.save(“e://book.xls”)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值