ranges = []
with open('file1') as f:
for line in f:
ranges.append(line.strip().split(' '))
ranges = [tuple(int(_) for _ in r) for r in ranges]
in_range = {range_: set() for range_ in ranges}
with open('file2') as f:
for line in f:
num = int(line.strip())
for range_ in ranges:
if range_[0] < num < range_[1] # Between low and high
in_range.add(num)
# print in_range
with open('file1.txt') as file1, open('file2.txt') as file2:
ranges = [line.split(' ') for line in file1 if line.rstrip()]
values = filter(lambda line: bool(line.rstrip()), file2.readlines())
for value, _range in zip(values, ranges):
print("{} is {}the value between {} and {}".format(value, "not " if int(_range[0]) <= float(value) <= float(_range[1]) else "", _range[0], _range[1])
如果您想对结果执行其他操作而不是打印出来,可以创建一个字典,将范围(从文件1)映射到这些范围内的数字(从文件2)
在Python中,下面是如何
打开文件:
迭代文件的行:
^{pr2}$在行尾去掉多余的空格:
围绕第一块空白将每行拆分为两行:
将字符串转换为数字:
在另外两个号码中间取一个号码:
或者,要检查一个数字是否在另外两个数字之间:
打印格式化结果:
当然,你也需要一些错误处理,你必须把所有的事情放在一起,但这应该足够你自己完成它。在
这应该可以做到:
相关问题 更多 >
编程相关推荐