文章目录
一、图书管理系统设计
------图书管理系统------
- 首先要求学生登录或者注册(1.登录 2.注册),
- 注册: 输入用户名和密码,确认密码 则注册成功
- 登录:输入用户名和密码,如果匹配正确则登录成功,否则失败
- 登录成功 可以1.借书 2.还书 3. 修改密码 4.退出,否则只能查看图书
- 借书:输入书名 必须在books列表中存在的才可以借,如果借书成功,books中对应的number要减少1(注意不可以借阅同名书籍)
- 还书:输入书名,必须在你的所借书籍中存在,才可以还书成功!还书成功,对应books中的number要加1
- 修改密码:输入原有的密码,如果输入正确才可以,更新自己的登录密码
- 退出:退出学生管理系统
要求:以上的每个点都要求定义成函数。通过函数完成
二、代码
希望各位码友在参考完以下代码后能够编写出你们自己的代码,这样对各位的编程能力以及Python中各各函数的使用有极大的提高。
#定义变量
hong_book_num = 6
shui_book_num = 3
xi_book_num = 5
san_book_num = 8
jian_book_num = 13
books_number = 35
def meun():#菜单首页
print("************************************************************ 欢迎使用图书管理系统 ************************************************************")
print("***************************************************************** 1:注册 *******************************************************************")
print("***************************************************************** 2:登录 *******************************************************************")
print("***************************************************************** 0:退出 *******************************************************************")
print("************************************************************* 您可以进行以上操作**************************************************************")
def main():#主操作函数
while True:
meun()#引meun()函数
a = eval(input("请输入你要选择的功能:"))
if a == 1:#条件判断
logon()#引用函数
continue#继续循环
elif a == 2:#条件判断
login()#引用函数
continue#继续循环
elif a == 0:
break#跳出循环
else:
print('请输入正确的命令,并重新运行系统')
def logon(): #注册函数
while True:
username = input("请输入用户名:")
password = input("请输入密码:")
repassword = input("请确认密码:")
user = username + password #字符串相加成一个新变量,用于后面对于身份的一个认定变量
with open("username.txt","r",encoding="UTF-8") as g:
la = g.read().split(',')#先读取字符串,再转化成列表
if username in la:
print("用户名已被注册,请更换用户名!")
continue
elif repassword == password:
print("注册成功")
with open("User.txt","a",encoding="UTF-8") as f:
f.write(user)#写入新的注册用户及密码
f.write(' ')
with open("username.txt","a",encoding="UTF-8") as g:
g.write(username)#写入新的用户名
g.write(',')
while True:
a = eval(input("请选择您是否登录:(1:是,2:否)"))
if a == 1:
login()#引用函数
break #结束循环
elif a == 2:
break #结束循环
else:
print("请输入正确指令!")
continue #继续内循环
break #结束外循环
def login():#登录
username = input("请输入用户名:")
password =input("请输入密码:")
user = username + password
with open("User.txt","r",encoding="UTF-8") as f:
la = f.read().split(' ')#先读取字符串,再转化成列表
if user in la:
print("恭喜用户登陆成功")
meun_1()#引用meun()函数
else:
print("密码错误,请输入正确的用户名及密码!")
login()
def meun_1():#主要操作面板
print("******** 您已登录成功,可进行以下操作 **********")
print("****************** 1:借书 *****************")
print("****************** 2:还书 *****************")
print("****************** 3:修改密码 **************")
print("****************** 4:退出 *****************")
while True:
with open("books.txt","r",encoding="UTF-8") as f:#读取文件内容
print(f"图书馆中可以借阅的书有:{f.read()}")
with open("bor_books.txt","r",encoding="UTF-8") as g:
print(f"您正在借阅的书籍有:{g.read()}")
print(f"红楼梦:{hong_book_num}本 、 水浒传:{shui_book_num}本 、 西游记:{xi_book_num}本 、 三国演义:{san_book_num}本 、 简爱:{jian_book_num}本,共计:{books_number}本。")
b = eval(input("请输入你要选择的功能:"))
if b not in [1,2,3,4]:
print('请输入正确的命令,并重新运行系统!')
continue
elif b ==1:
borbook()
continue
elif b ==2:
rebook()
continue
elif b ==3:
alter()
break
elif b == 4:
print("您已退出个人账号!")
break
def borbook():#借书函数
global books_number #定义全局变量
global hong_book_num
global shui_book_num
global xi_book_num
global san_book_num
global jian_book_num
global books_number
borbookname = str(input("请输入借书书名:"))
with open("books.txt", "r",encoding="UTF-8") as f:
la = f.read()#.split(' ')先读取字符串,再转化成列表
with open("bor_books.txt", "r",encoding="UTF-8") as g:
ls = g.read().split(' ')#先读取字符串,再转化成列表
if borbookname in la and borbookname not in ls:
books_number -= 1
print("借书成功!!!")
with open("bor_books.txt", "a",encoding="UTF-8") as y:
y.write(borbookname)#添加正在借阅的书籍
y.write(' ')
if borbookname in "红楼梦":#进行书本数量的计算
hong_book_num -= 1
elif borbookname in "水浒传":
shui_book_num -= 1
elif borbookname in "西游记":
xi_book_num -= 1
elif borbookname in "三国演义":
san_book_num -= 1
elif borbookname in "简爱":
jian_book_num -=1
else:
print("您已借了此书,请重新选择其它书籍!!")
borbook()#引用函数
def rebook():#还书函数
global books_number #定义全局变量
global hong_book_num
global shui_book_num
global xi_book_num
global san_book_num
global jian_book_num
rebookname = (input("请输入还书书名:"))
with open("bor_books.txt", "r",encoding="UTF-8") as f:
la = f.read().split(' ')#先读取字符串,再转化成列表
if rebookname in la:
print("***还书成功***")
la.remove(rebookname)
ls =" ".join(la)#将列表转化成相应字符串后再写入
books_number += 1
with open("bor_books.txt", "w",encoding="UTF-8") as g:
g.write(ls)#重新写入还书后还借阅的书籍
if rebookname in "红楼梦": #进行书本数量的计算
hong_book_num += 1
elif rebookname in "水浒传":
shui_book_num += 1
elif rebookname in "西游记":
xi_book_num += 1
elif rebookname in "三国演义":
san_book_num += 1
elif rebookname in "简爱":
jian_book_num +=1
def alter():#修改密码
while True:
username = input("请输入用户名:")
password = input("请输入旧密码:")
new = input("请输入新密码:")
user = username + password
new_user = username + new
with open("User.txt", "r",encoding="UTF-8") as f:
la = f.read()#读出字符串
la = la.split(' ')#字符串变列表
if user in la:
ls = [new_user if i == user else i for i in la]#替换指定元素(修改码)
ls = " ".join(ls)#列表变字符串
with open("User.txt", "w") as g:
g.write(ls)#重新写入修改后的内容
print("修改密码成功,请重新登录!")
break
else:
print("请输入正确的用户名及密码!")
main()