Basic addition is dropping a tiny fraction when adding together certain numbers. We have discovered that when adding together the numbers 8.95 and 0.95 we get an incorrect answer, that is off by a tiny fraction. This doesn't occur when adding 7.95 and 0.95 but occurs for 8.95 and above. We have attached a file showing our calculations failing on Python 2.7 (on both a Mac and Linux system) and 3.5 (on a Linux system).
Pythons has binary floating point, which does not give the same results as a pocket calculator. You can see the differences by using the decimal module: # These are the binary floats in exact decimal representation. >>> Decimal(7.95) Decimal('7.95000000000000017763568394002504646778106689453125') >>> Decimal(8.95) Decimal('8.949999999999999289457264239899814128875732421875') # This is exact decimal arithmetic. >>> Decimal("8.95") + Decimal("0.95") Decimal('9.90')