134
How Python Compares Floats and Ints: When Equals Isn’t Really Equal
(blog.codingconfessions.com)
This is a most excellent place for technology news and articles.
It’s both. As you said it’s because of loss of floating point precision, but it’s also with some of the quirks how Python compares int with float. These two together causes this strange behavior.