3.定义函数(modify_book()):修改读者信息,从文件(book.csv)中修改图书信息,修改过程如下图所示: 请输入功能对应的数字:3 请输入要修改的图书编号:1 请输入修改后图书类别编号:1 请输入修改后图书名称:Python程序设计1 请输入修改后作者:单显明1 请输入修改后出版社:北京理工大学出饭社 请输入修改后出版时间:2020-09-18 请输入修改后ISBN号: 3213213-32-322 修改成功 1.定义函数(show_book()):查询所有图书信息,从文件(book.csv)中查询所有图书信息,查询效果如下: 2. 定义主函数:控制流程正常执行,选择相应的功能代码,调用相应函数,完成相应功能。选择1:调用添加图书函数选择2:调用删除图书函数选择3:调用修改图书函数选择4:调用显示所有图书函数选择0:确认用户是否确定退出程序,选择yes,退出程序,否则提示用户重新选择。3. 调用主函数。
时间: 2024-02-17 08:04:00 浏览: 95
Android.permission.MODIFY_PHONE_STATE权限问题解决办法
以下是实现上述功能的Python代码:
```python
import csv
# 读取图书信息
def read_book():
with open('book.csv', 'r', encoding='utf-8-sig') as file:
reader = csv.reader(file)
book_list = []
for row in reader:
book_list.append(row)
return book_list
# 保存图书信息
def save_book(book_list):
with open('book.csv', 'w', newline='', encoding='utf-8-sig') as file:
writer = csv.writer(file)
for book in book_list:
writer.writerow(book)
# 添加图书
def add_book():
book_list = read_book()
book_id = input('请输入图书编号:')
category_id = input('请输入图书类别编号:')
book_name = input('请输入图书名称:')
author = input('请输入作者:')
publisher = input('请输入出版社:')
publish_time = input('请输入出版时间:')
isbn = input('请输入ISBN号:')
book_list.append([book_id, category_id, book_name, author, publisher, publish_time, isbn])
save_book(book_list)
print('添加成功')
# 删除图书
def delete_book():
book_list = read_book()
book_id = input('请输入要删除的图书编号:')
for book in book_list:
if book[0] == book_id:
book_list.remove(book)
save_book(book_list)
print('删除成功')
return
print('未找到对应图书')
# 修改图书
def modify_book():
book_list = read_book()
book_id = input('请输入要修改的图书编号:')
for book in book_list:
if book[0] == book_id:
category_id = input('请输入修改后图书类别编号:')
book_name = input('请输入修改后图书名称:')
author = input('请输入修改后作者:')
publisher = input('请输入修改后出版社:')
publish_time = input('请输入修改后出版时间:')
isbn = input('请输入修改后ISBN号:')
book[1] = category_id
book[2] = book_name
book[3] = author
book[4] = publisher
book[5] = publish_time
book[6] = isbn
save_book(book_list)
print('修改成功')
return
print('未找到对应图书')
# 显示所有图书
def show_book():
book_list = read_book()
for book in book_list:
print('图书编号:{},图书类别编号:{},图书名称:{},作者:{},出版社:{},出版时间:{},ISBN号:{}'.format(book[0], book[1], book[2], book[3], book[4], book[5], book[6]))
# 主函数
def main():
while True:
choice = input('请输入功能对应的数字:')
if choice == '1':
add_book()
elif choice == '2':
delete_book()
elif choice == '3':
modify_book()
elif choice == '4':
show_book()
elif choice == '0':
confirm = input('确认退出程序吗?(输入yes确认,否则重新选择功能):')
if confirm == 'yes':
break
else:
print('输入错误,请重新输入')
if __name__ == '__main__':
main()
```
注意:在使用该代码时,需要先创建一个名为`book.csv`的文件,文件的第一行需要是表头,即各个字段的名称。例如:
```
图书编号,图书类别编号,图书名称,作者,出版社,出版时间,ISBN号
1,1,Python程序设计,单显明,北京理工大学出版社,2020-09-18,3213213-32-322
```
同时,该文件需要和代码文件放在同一个目录下。
阅读全文