Тип Python Fraction, насколько я понимаю, выводит упрощенную версию того, что вы помещаете в него (т.е. print (Fraction (4/8)) выводит 1/2). Однако для определенных входов я получаю действительно странные результаты:
Дробь (984/1920) должна вывести 41/80, но вместо этого дает 2308094809027379/4503599627370496.
Дробь (1000/992) должна вывести 125/124, но вместо этого дает 4539918979204129/4503599627370496.
Дробь (408/896) должна вывести 51/112, но вместо этого дает 8202985035567689/18014398509481984.
Когда я ввожу правильно упрощенную дробь в тип Fraction, я получаю такое же ошибочное представление - даже такие же массивные значения. Есть еще много примеров их появления. Есть идеи относительно того, почему это так, и что я могу сделать, чтобы исправить это?