The Problem
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.
My Solution
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 if statements!
Other Approaches
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
Implementation
- 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):