a.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. import os, argparse, re
  2. def solve_task(lines):
  3. overlaps = 0
  4. for line in lines:
  5. m = re.match("(\d+)-(\d+),(\d+)-(\d+)", line)
  6. first = (int(m.group(1)), int(m.group(2)))
  7. second = (int(m.group(3)), int(m.group(4)))
  8. if ((first[0] >= second[0] and first[1] <= second[1]) or
  9. (first[0] <= second[0] and first[1] >= second[1])):
  10. overlaps += 1
  11. print(f"Number of overlaps: {overlaps}")
  12. def read_lines(filename):
  13. lines = []
  14. with open(filename) as infile:
  15. for raw_line in infile:
  16. line = raw_line.rstrip()
  17. lines.append(line)
  18. return lines
  19. def parse_arguments():
  20. parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
  21. parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
  22. args = parser.parse_args()
  23. return args
  24. def main():
  25. args = parse_arguments()
  26. lines = read_lines(args.filename)
  27. solve_task(lines)
  28. if __name__ == "__main__":
  29. main()