使用Python语言完成图书管理功能的开发,要求该功能至少包括:输出图书管理主菜单、添加图书信息、删除图书信息、修改图书别信息、显示所有图书信息。要求将图书类别存储到book.csv文件中,文件格式如下:类别编号,类别名称,图书编号,图书名称,作者,出版社,出版时间,ISBN在添加图书的时候,要求定义类booktype2,定义readBookType()方法,实现从booktype.csv读取图书类别的方法。 实现过程
时间: 2024-01-06 16:04:15 浏览: 172
首先,我们需要定义一个Book类,用于表示一本书,包括图书编号、图书名称、作者、出版社、出版时间以及ISBN等属性。代码如下:
```python
class Book:
def __init__(self, book_id, book_name, author, publisher, publish_date, isbn):
self.book_id = book_id
self.book_name = book_name
self.author = author
self.publisher = publisher
self.publish_date = publish_date
self.isbn = isbn
```
接下来,我们需要定义一个BookType类,用于表示图书类别,包括类别编号和类别名称等属性。代码如下:
```python
class BookType:
def __init__(self, type_id, type_name):
self.type_id = type_id
self.type_name = type_name
```
然后,我们需要定义一个BookManager类,用于管理图书信息,包括添加图书信息、删除图书信息、修改图书信息以及显示所有图书信息等方法。在BookManager类中,我们还需要定义一个readBookType方法,用于从booktype.csv文件中读取图书类别。代码如下:
```python
import csv
class BookManager:
def __init__(self):
self.books = []
self.book_types = []
self.readBookType()
def readBookType(self):
with open('booktype.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
type_id, type_name = row[0], row[1]
book_type = BookType(type_id, type_name)
self.book_types.append(book_type)
def addBook(self):
book_id = input('请输入图书编号:')
book_name = input('请输入图书名称:')
author = input('请输入作者:')
publisher = input('请输入出版社:')
publish_date = input('请输入出版时间:')
isbn = input('请输入ISBN:')
book = Book(book_id, book_name, author, publisher, publish_date, isbn)
self.books.append(book)
print('添加成功!')
def deleteBook(self):
book_id = input('请输入要删除的图书编号:')
for book in self.books:
if book.book_id == book_id:
self.books.remove(book)
print('删除成功!')
return
print('该图书不存在!')
def modifyBook(self):
book_id = input('请输入要修改的图书编号:')
for book in self.books:
if book.book_id == book_id:
book.book_name = input('请输入新的图书名称:')
book.author = input('请输入新的作者:')
book.publisher = input('请输入新的出版社:')
book.publish_date = input('请输入新的出版时间:')
book.isbn = input('请输入新的ISBN:')
print('修改成功!')
return
print('该图书不存在!')
def showAllBooks(self):
for book in self.books:
print('图书编号:%s,图书名称:%s,作者:%s,出版社:%s,出版时间:%s,ISBN:%s' % (
book.book_id, book.book_name, book.author, book.publisher, book.publish_date, book.isbn))
def showMenu(self):
print('欢迎使用图书管理系统')
print('1. 添加图书信息')
print('2. 删除图书信息')
print('3. 修改图书信息')
print('4. 显示所有图书信息')
print('0. 退出系统')
```
最后,我们需要编写一个主程序,用于调用BookManager类中的方法,实现图书管理功能。代码如下:
```python
if __name__ == '__main__':
manager = BookManager()
while True:
manager.showMenu()
choice = input('请输入您的选择:')
if choice == '1':
manager.addBook()
elif choice == '2':
manager.deleteBook()
elif choice == '3':
manager.modifyBook()
elif choice == '4':
manager.showAllBooks()
elif choice == '0':
print('谢谢使用,再见!')
break
else:
print('输入有误,请重新输入!')
```
注意:在运行程序之前,需要先创建一个booktype.csv文件,并将图书类别信息存储到该文件中,每行格式如下:类别编号,类别名称。
阅读全文