mariajessica 2021-11-11 19:40 采纳率: 50%
浏览 137
已结题

借助Python的字典实现简单的图书管理功能

题目描述

我们希望借助Python的字典实现简单的图书管理功能。图书的信息包括其ISBN编号、名称、价格和出版社。初步实现三种功能:加入新书的信息、删除某本书的信息、查询某本书的信息。另外,图书的ISBN编号一定是不会重复的一串数字,且假设图书名称、出版社名称中不含空格。

输入

输入共n+3行。第1行输入正整数n的值,表示将插入n本图书的信息。 后面n行的每一行分别为插入的一本图书的ISBN编号(整数类型)、名称(字符串类型)、价格(浮点数类型)、出版社(字符串类型),这四者之间以空格分隔。 倒数第二行为待删除的图书的ISBN编号。最后一行为待查询的一本书的ISBN编号。

输出

输出为一本书的查询结果,其行数不固定。对于每一本待查询的书的输出,如果存储图书信息的字典中有该图书的信息,则分四行输出:第一行为“ISBN:图书的ISBN号”;第二行为“图书的名称”;第三行为“price:图书的价格”,此处图书的价格保留两位小数;第四行为“publisher:图书的出版社”。如果没有该图书的信息,则输出一行“BookNotFound”。

输入样例1

2
9787115454157 流畅的Python 139 人民邮电出版社
9787121332746 Python学习手册 219 机械工业出版社
9787115454157
9787115454157
输出样例1

BookNotFound
输入样例2

2
9787115454157 流畅的Python 139 人民邮电出版社
9787121332746 Python学习手册 219 机械工业出版社
9787115454157
9787121332746
输出样例2

ISBN:9787121332746
name:Python学习手册
price:219.00
publisher:机械工业出版社

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-11-11 22:20
    关注

    因书号唯一,作为键,其他三个为值构成字典,代码这样写:

    books={}
    n=int(input('添加图书个数:'))
    for i in range(n):
        isbn,name,price,publisher=input().split()
        isbn=int(isbn)
        price=float(price)
        books[isbn]=[name,price,publisher]
    m=int(input('输入要删除的编号'))
    books.pop(m)
    q = int(input('输入要查询的编号'))
    for k in books:
        if q == k:
            print('ISBN:',k)
            print('name:',books[k][0])
            print('price:',books[k][1])
            print('publisher:',books[k][2])
            break
    else:
        print('BookNotFound')
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 创建了问题 11月11日

悬赏问题

  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载