from fractions import Fraction
counter = 0;
a = int(raw_input())
b = int(raw_input())
if 1 <= a <= 10 ** 8:
if a <= b <= 10 ** 8:
for i in range(a, b+1):
if float(i**Fraction(1,3)).is_integer() == True:
counter += 1
print(i)
print(str(counter))
print (str(float(64**Fraction(1,3)).is_integer()))
このコードは false を返すため、if ステートメントはまったく実行されません。さらに、64 の立方根は 4 なので、結果は整数になるはずです。ただし、1 から 100 までの範囲では、1、8、および 27 はこの場合 true を返します。64 の立方根が true を返さない理由について、何か助けをいただければ幸いです。