简单的Python程序无法编译

时间:2015-01-06 22:20:22

标签: python

我有一个简单的程序,由于缩进错误而无法编译。我相信我已正确缩进它。有人可以向我解释为什么它不会在第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')

1 个答案:

答案 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中。