学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
图书查询。所有正版图书均有唯一的国际标准书号(ISBN),ISBN由13位数字和字符“-”组成,字符“-”对数字间隔分段。如:某图书的ISBN为“978-7-5536-3176-9”(其中“978”表示图书类代码,“7”表示地区码,“5536”表示出版社代码,“3176”表示书序码,“9”为校验码)。小李为某校园书吧编写了图书查询的程序。
(1)主程序
lst1=readfile("in.csv")#校园书吧库存图书信息存储在文件"in.csv"
while True:
     print("1.验证ISBN校验码;2.统计出版社费用;3.操作结束")
     opt=int(input("请输入操作编号(1-3):"))
     If opt==1:
          isbn=input("请输入ISBN号:")
          If check(isbn):
               print("校验码正确")
          else:
               print("校验码错误")
     elif opt==2:
          code=input("请输入出版社代码:")
          money=total(code)
          print("书吧中该出版社出版的图书总价:%.2f元"%money)#输出的总金额保留2位小数点
       else:
          print("操作结束")
          break
运行程序,若输入opt值为4,程序将______(单选,填字母;A.运行时报错/B.输出“操作结束”)。
(2)读写文件
小李将校园书吧库存图书信息存储在文件"in.csv"中,内容如图所示。函数readfile()用于逐行读取文件数据存入列表并返回。请在划线处填入合适的代码。

import pandas as pd
def readfile(filename):#读csv格式文件内容,将其存入列表并返回
     df1=pd.read_csv(filename,encoding="GBK")
     lst=[]
     for i in df1.index:
          isbn=df1["ISBN"][i]
          num=df1["图书数量"][i]
          price=df1["单价(元)"][i]
          lst.append([isbn,num,price])     #添加到列表
     Return________
(3)校验码验证
ISBN最后一位的校验码用来检验前面12数字是否准确,是保护知识产权的一种检验方法。
计算方法如下:
①将ISBN中前12位数字从左到右依次编号为“1、2、3、...、12”。
②若数字编号是奇数,则对应权值为1,否则权值为3。首先将ISBN中前12位的数字值与对应权值相乘,然后将计算所得值进行累加。
③最后,用10减去第第②步结果对10整除的余数,所得结果即为校验码。
def check(ISBN):     #对ISBN校验码验证
     n=len(ISBN)
     val=0;k=3
     for i in range(0,n-1):
          if '0'<=ISBN[i]<='9':
               k=4-k
               val+=int(ISBN[i])*k
______
     if result==int(ISBN[-1]):
          Return   True
     else:
          Return   False
(4)统计校园书吧中某出版社出版的所有图书总价
'''
列表lst1中的部分数据如:[['978-7-5139-3066-6',7,59.80],['978-7-5063-3174-6',9,48.00],......]
'''
Def   total(code):#统计书吧中出版社代码为code的所有图书总价
     n=len(lst1)
     money=0
     for i in range(n):
          isn=lst1[i][0].split('-')     #将字符串list1[i][0]以“-”为分隔符,分割成多个字符串组成的列表
          if isn[2]==code:
_______
     Return   money
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交