我对Python比较新,我遇到了一些问题,试图理解我写的代码一直出现的错误。
我的代码如下(代码是找到完美的多维数据集编号):
x = int(raw_input('Enter number: '))
ans = 0
while ans**3 < abs(x):
ans = ans + 1
if ans**3 != abs(x):
print 'not cube number'
else:
print x, 'is a cube of', ans
一切顺利,直到我到达第5行。在我写第5行(if ans**3 != abs(x):
)并按Enter后,我在IDLE(版本2.7)执行此操作时收到错误说:SyntaxError: invalid syntax
。 11)。但完整执行的完整代码在Canopy(版本1.5.2)上完全正常。我似乎无法找到语法错误可能是什么!它让我发疯了!
这可能是IDLE的一个问题,但是,任何机会都不能与我的笔记本电脑兼容? (我使用的是Macbook专业版10.10.4)。
我还应该在IDLE上添加:当我以这种方式键入代码时(显然是错误的,但仍然只是看):
if ans**3 != abs(x):
ans = 0
while ans**3 < abs(x):
ans = ans + 1
if ans**3 != abs(x):
print 'not cube number'
else:
print x, 'is a cube of', and
我得到以下结果(整数输入为27):
27 not a cube number
27 not a cube number
27 cube number of 3
所以看起来它正好在while
循环体中运行,它只是不接受缩进!