This was more of a string matching exercise followed by a bit of arithmetic on the extracted data. Part 2 involves a bit of logic.
The first thing that came to mind was regular expressions with named fields. Its been a while, so I had to go back to the (excellent) docs, but this was pretty straightforward.
Turns out this was overkill (see below)! Also, I found out not one but two improvements in my
There isn’t much to explore in terms of algorithm, since the task isn’t very complicated. So mostly looking at what I could learn from doing differently the
- My traditional
Cbased thinking translated into python:
if(num >= min_inst and num <= max_inst):A more pythonic way of doing the same:
if(min_inst <= num <= max_inst):
- I blindly translated the requirements of part 2 into two
ifstatements, since we needed to satisfy either of two conditions, but not both …but that’s just what an xor does!
- Another approach that I liked for part 2 was along the lines of
if(condition_1 != condition_2):