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 的任何帮助将不胜感激。