使用Python语言完成图书管理功能的开发,要求该功能至少包括:输出图书管理主菜单、添加图书信息、删除图书信息、修改图书别信息、显示所有图书信息。要求将图书类别存储到book.csv文件中,文件格式如下:3-1.jpg 在添加图书的时候,要求定义类booktype2,定义readBookType()方法,实现从booktype.csv读取图书类别的方法。
时间: 2023-12-04 15:05:39 浏览: 87
基于Python的图书管理系统
5星 · 资源好评率100%
好的,下面是一个简单的图书管理系统的Python代码,包括输出主菜单、添加图书信息、删除图书信息、修改图书信息、显示所有图书信息的功能,并使用了booktype.csv文件存储图书类别。
```python
import csv
class Book:
def __init__(self, id, name, author, type):
self.id = id
self.name = name
self.author = author
self.type = type
class BookType2:
@staticmethod
def readBookType():
book_types = []
try:
with open('booktype.csv', encoding='utf-8') as f:
f_csv = csv.DictReader(f)
for row in f_csv:
if len(row) == 2:
book_types.append(row['类别名称'])
except FileNotFoundError:
pass
return book_types
def add_book(books):
id = input('请输入书籍编号: ')
name = input('请输入书籍名称: ')
author = input('请输入作者名称: ')
book_types = BookType2.readBookType()
print('请选择书籍类别(输入对应数字): ')
for i, book_type in enumerate(book_types):
print(f'{i+1}. {book_type}')
type = book_types[int(input())-1]
book = Book(id, name, author, type)
books.append(book)
print('添加成功')
def del_book(books):
id = input('请输入要删除的书籍编号: ')
for book in books:
if book.id == id:
books.remove(book)
print('删除成功')
return
print('未找到该书籍')
def modify_book(books):
id = input('请输入要修改的书籍编号: ')
for book in books:
if book.id == id:
name = input('请输入新的书籍名称: ')
author = input('请输入新的作者名称: ')
book_types = BookType2.readBookType()
print('请选择新的书籍类别(输入对应数字): ')
for i, book_type in enumerate(book_types):
print(f'{i+1}. {book_type}')
type = book_types[int(input())-1]
book.name = name
book.author = author
book.type = type
print('修改成功')
return
print('未找到该书籍')
def show_books(books):
print('所有图书信息如下: ')
for book in books:
print(f'{book.id} {book.name} {book.author} {book.type}')
def main():
books = []
while True:
print('欢迎使用图书管理系统')
print('1. 添加图书信息')
print('2. 删除图书信息')
print('3. 修改图书信息')
print('4. 显示所有图书信息')
print('5. 退出系统')
choice = input('请选择功能(输入对应数字): ')
if choice == '1':
add_book(books)
elif choice == '2':
del_book(books)
elif choice == '3':
modify_book(books)
elif choice == '4':
show_books(books)
elif choice == '5':
print('谢谢使用')
break
else:
print('输入有误,请重新输入')
if __name__ == '__main__':
main()
```
其中,Book类表示图书信息,BookType2类实现从booktype.csv读取图书类别,add_book()、del_book()、modify_book()、show_books()分别实现添加、删除、修改、显示所有图书信息的功能,main()函数输出主菜单并调用相应功能函数。
阅读全文