跪求有关区间计算的perl或者python程序一枚

有A和B两个文件,分别判断B文件中每一行的第二列数字是否在A文件的数字区间之内(不一定在哪一行的区间内),如果不在区间内则输出该行。文件A示例(两列,中间以制表符分开):... 有A和B两个文件,分别判断B文件中每一行的第二列数字是否在A文件的数字区间之内(不一定在哪一行的区间内),如果不在区间内则输出该行。文件A示例(两列,中间以制表符分开): 展开
 我来答
sparkaround
推荐于2016-02-08 · TA获得超过3508个赞
知道大有可为答主
回答量:1522
采纳率:0%
帮助的人:918万
展开全部

Python, 暴力搜索:

a = []
b = []
n = 0
f = open("A", "r")
while True:
    line = f.readline().strip()
    if not line:
        break
    ai, bi = map(int, line.split())
    if ai > bi:
        ai, bi = bi, ai
    a.append(ai)
    b.append(bi)
    n += 1
f.close()
 
f = open("B", "r")
while True:
    line = f.readline().strip()
    if not line:
        break
    data = line.split('|')
    x = int(data[1])
    found = False
    for i in range(n):
        if (x >= a[i]) and (x <= b[i]):
            found = True
            break
    if found:
        #print("YES")
        pass
    else:
        print(line)
f.close()
追问
多谢大神,这个程序很好,还有一点小问题请教,即B文件的第一行不做处理而直接打印出来,该如何修改一下程序呢?本人python初学者,请大神多多指教,感激不尽!
追答
f = open("B", "r")后加一行:
print(f.readline().rstrip())
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式