Se ha sabido desde Pitágoras que 2^(1/2) es irracional. También es obvio que 4^(1/2) es racional. También hay una divertida prueba de que incluso el poder de dos números irracionales puede ser racional.
Puede que, en general, calcular si el poder de dos números racionales es racional?
La razón por la que estoy pidiendo, además de la curiosidad, es que la Fracción de tipo en Python siempre devuelve un float en la exponenciación. Si hay una manera rápida de saber si podría estar con precisión expresada como una fracción, la función de la energía podría regresar sólo flota cuando tiene que llegar.
EDITAR: Por petición popular, he cambiado de 0.5 a 1/2 para dejar claro que es una fracción y no un float.