省了一部分主要是添加书籍那一部分不知道怎么把信息自动录入到文件里面
while True:
...
class Book(object):
def init(self, name, author, state, book_position):
self.name = name
self.author = author
self.state = state # 判断书的状态0:借出 1:未借出
self.book_position = book_position
# 打印对象时自动调用str(对象)
def __str__(self):
return f"书名:《{self.name}》,作者:<{self.author}>,状态:<{self.state}>,位置:<{self.book_position}>"
class Book_Manag(object):
books = []
def showAllBook(self):
for book in self.books:
print(book)
def start(self):
"对图书信息进行初始化"
b1 = Book("我与地坛", "史铁生", 1, "f1")
b2 = Book("解忧杂货店", "东野圭吾", 1, "f2")
b3 = Book("狼王梦", "沈石溪", 1, "f3")
b4 = Book("目送", "龙应台", 1, "f4")
b5 = Book("亲爱的安德烈", "龙应台", 1, "f5")
b6 = Book("皮皮鲁与鲁西西", "郑渊洁", 1, "f6")
b7 = Book("西游记", "吴承恩", 1, "f7")
self.books.append(b1)
self.books.append(b2)
self.books.append(b3)
self.books.append(b4)
self.books.append(b5)
self.books.append(b6)
self.books.append(b7)
def directory(self):
self.start()
while True:
print("""淼淼图书管理系统:
1. 查询
2. 增加
3. 借阅
4. 归还
5. 显示所有书籍
6. 退出
""")
chioce = int(input("输入你想要的操作:"))
if chioce == 1:
name = input("你想查询书籍的书名:")
self.checkBook(name) # 调用查询单个书籍的函数
elif chioce == 2:
self.addBook() # 调用增加单个书籍的函数
elif chioce == 3:
self.borrowBook() # 调用借阅书籍函数
elif chioce == 4:
self.return_book() # 调用归还书籍函数
elif chioce == 5:
self.showAllBook() # 调用显示所有书籍的函数
elif chioce == 6:
print("退出系统!")
break
else:
print("您的输入有误,请重新输入!")
# 添加书籍
# def addBook(self):
# name = input("需要添加书籍的书名:")
# self.books.append(Book(name, input("作者:"), 1, input("位置:")))
# print(f"图书{name}添加成功!")
def addBook(self):
fopen = open("Book_Information.txt", 'a+', encoding="utf-8")
input_bookName = str(input("请输入新图书名:"))
input_author = str(input("请输入作者:"))
for self.name in self.books:
if input_bookName == self.books['bookName']:
print("图书已存在")
break
else:
fopen.write(
" \nbookName\t" + input_bookName + " ltauthor\t" + input_author)
print("图书添加成功")
# 借书
def borrowBook(self):
name = input("借阅书籍名称:")
Books = self.checkBook(name)
# 判断书的状态
if Books != None:
if Books.state == 0:
print(f"书籍《{name}》已经借出!")
elif Books.state == 1:
print(f"书籍《{name}》借阅成功!")
Books.state = 0
else:
print(f"书籍《{name}》不存在!")
# 归还书籍
def return_book(self):
name = input("归还书籍名称:")
Books = self.checkBook(name)
if Books != None:
if Books.state == 1:
print(f"书籍《{name}》已经借出!")
elif Books.state == 0:
print(f"书籍《{name}》归还成功!")
Books.state = 1
else:
print(f"书籍《{name}》与借出的不一致!")
def checkBook(self, name):
"查找书籍是否存在"
for book in self.books:
# book:Book类创建的对象
if book.name == name:
print(book)
return book
else:
return print(f"你查询的书籍《{name}》不在系统中!请重新输入!")
book_Manag = Book_Manag()
book_Manag.directory()
if b == 2:
break
if a == 2:
input("请输入要注册的手机号:")
y = 128
print("验证码:" + str(y))
y1 = int(input("请输入验证码:"))
if y1 != y:
print("输入的验证码有误,请重新输入:")
else:
mi_1 = eval(input("请输入密码:"))
mi_2 = eval(input("请再次输入密码:"))
if mi_2 != mi_1:
print("两次密码不一致,请重新注册:")
break
else:
print("注册成功!")
if a == 3:
print("game over!")
break
addBook 里有 open 有 write 没看到 close()
应该是没有关闭文件,所以就没有保存。