输入书序号,输出书的位置

某书库的书不是乱七八糟摆放的,而是按照书的编号(也就是每本书有一个唯一整数编号)顺序摆放的。书库为了提供服务质量,委托了你开发图书查询系统,要求开发的系统提供查询服务具有最短平均响应时间。在此假定,读者查询每一本的概率都是相等的,如果书不存在,也要求尽可能快地得到结果。
输入格式
第一行一个整数n,表示书库中书的总本数,0<n<=10,000,000。其后n个按升序排列的正整数,每个编号代表一本书。接下来的一行包含一个整数k,表示读者的查询次数,0<k<10000。此后的k行,每行一个整数,表示读者查询的书号,书号取值范围[1 , 10的19次方]。
输出格式
输出每次查询的结果,如果书号存在,再输出该书号对应的顺序号(顺序号是从0开始的),如果没有则输出-1。
输入样例 复制
10
2 3 7 100 168 2018 3125 5196 712513 1234567890123
4
100
101
1234567890123
2018
输出样例 复制
3
-1
9
5

【有帮助请采纳】

n = int(input())                        #输入n
data = list(map(str,input().split()))   #将编号数据存储到列表data中
k = int(input())                        #输入查询次数
for i in range(k):                      #遍历查询次数
    x = input()                         #输入查询书号
    if x in data:print(data.index(x))   #判断存在,输出顺序号
    else:print(-1)                      #判断为否,输出-1

【有帮助请采纳】

亲爱的提问者您好,我们很乐意您在CSDN找到问题的答案。
但是问答频道谢绝一切直接提问作业、求源代码等的行为,在此对您发出正式警告。
后续如果继续不加思考,直接提出作业问题,我们会限制您在问答频道的提问权益。
CSDN问答也鼓励用户通过举报功能来对这些行为进行监督反馈,共建问答频道良好的风气。