Das liegt nicht an der wissenschaftlichen Schreibweise, sondern das nur eine gewisse Größe von Zahlen in den Speicherplatz eines Integers passt (weiß gerade die genauen Daten nicht), aber auf alle Fälle werden dann (noch) größere Zahlen als Double gespeichert, weil double mehr Speicherplatz zur Verfügung hat (in Python).
dh als double ist deine Zahl durch zwei Teilbar
Tipp: Lies dich mal in die C++ Datentypen rein (int, float, double, long int, ....) für Python gelten (je nach BS) die gleichen Werte
Ich kenn zwar dein Lösungsansatz nicht, aber wenn ich prüfen möchte ob eine Zahl durch zwei Teilbar ist nehme ich Modulo und prüfe den Rest ob er gleich 0 ist, wenn ja, ist die Zahl gerade, wenn nicht, halt nicht.... Das hat auch bei deiner angegebenen Zahl funktioniert.
Dazu muss man auch sagen, dass der Computer bzw. Python intern gar nicht mit der wissenschaftlichen Schreibweise arbeitet! Dies ist nur für den User damit man größere Zahlen versteht und nicht die Anzahl der Stellen nachzählen muss usw.