我有一个简单的程序,由于缩进错误而无法编译。我相信我已正确缩进它。有人可以向我解释为什么它不会在第5行编译。由于缩进问题,但我相信我已正确缩进
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
print("compile please")
break
else:
# loop fell through without finding a factor
print(n, 'is a prime number')
答案 0 :(得分:2)
您的问题是您的编辑器可能正在混合制表符和空格。你不想要那样的编辑。
以下是没有标签的代码,对我来说非常合适:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
print("compile please")
break
else:
# loop fell through without finding a factor
print(n, 'is a prime number')
如果您不想学习像Vim或Emacs这样的新的精彩编辑器,那么您可以使用像IDLE这样的东西。或Sublime,Atom,Brackets或非常好的编辑。
确保正确缩进代码的另一个非常好的方法是将其输入到Python REPL中。