简单 Python 程序无法编译

Simple Python Program won't compile

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

您的问题是您的编辑器可能混用了制表符和空格。你不想要这样的编辑器。

这是你的代码,没有标签,对我来说运行得很好:

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。