Ah! So good. The clean-ness of Python never stops making me happy!
Using a set was a good idea. I didn't think of that, but it would be a lot faster for checking whether or not an item was present.
I'm going to offer unsolicited suggestions, but feel free to totally ignore them if you already knew about them (probable) or don't like them, since your solution already looks really nice.
data = open('input.txt', 'r')
total = sum(int(line) for line in data)
Awesome! Yes, thank you! Found out about itertools.cycle this morning -- feels super niche but still really cool.
Part one could also be a one-liner!
print(sum(int(line for line in open('input.txt', 'r'))))
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.