Python 2.7 Python 2.7.3中的奇怪语法错误

Python 2.7 Python 2.7.3中的奇怪语法错误,python-2.7,syntax-error,primes,Python 2.7,Syntax Error,Primes,我最近决定学习基本编程,并使用麻省理工学院的开放式课程学习Python。其中一个任务是创建一个程序,生成从0开始的第1000个素数。我的第一个解决方案如下: oddList = [] for odd in range(3, 10000): if odd % 2 != 0: oddList.append(odd) else: continue primeCount = 3 loopHolder = True while loopHolder == True: for poss

我最近决定学习基本编程,并使用麻省理工学院的开放式课程学习Python。其中一个任务是创建一个程序,生成从0开始的第1000个素数。我的第一个解决方案如下:

oddList = []
for odd in range(3, 10000):
if odd % 2 != 0:
    oddList.append(odd)
else:
    continue


primeCount = 3
loopHolder = True
while loopHolder == True:

for possiblePrime in oddList:
    if primeCount == 1000:
        print possiblePrime
        loopHolder = False
    from math import *
    limit = int(math.sqrt(possiblePrime)

    for primeTest in range(2, limit):
            testCount = 0
            if possiblePrime % primeTest == 0:
                testCount = testCount + 1
                primeCount = primeCount                
            else:
                continue
            if testCount > 0:
                primeCount = primeCount
                break
            else:
                primeCount = primeCount + 1
                break
然而,当我运行它时,我在 “对于范围(2,limit)内的primeTest:”python特别突出显示冒号。我意识到这个错误可能是其他地方的语法错误造成的,但我找不到它。有人能指出我的错误在哪里吗


PS:虽然很感激,但不需要代码语义方面的帮助。

您有“while loopHolder==True:”后面没有缩进块。您可能应该将其写为“while loopHolder:”,因为==True部分不是必需的。我也会避免在循环中进行导入。导入语句通常位于文件的顶部,除非您需要它位于其他位置。“limit=int(math.sqrt(possibleprome)”后面也没有右括号。

对于python来说,空格非常非常重要。在编写代码并将其复制到stackoverflow时,您需要更加注意这一点。如果我要复制并粘贴代码,那么现在您的代码将无法像您编写的那样工作


对于您的问题,请看上面的两行,看看是否缺少一个右括号。

空白不仅仅是缩进。它允许人们看到或感到困惑。它允许直观地分隔事物。虽然python主要强制缩进,但空白的重要性足以成为缩进的一部分。我认为在向python新手或编程新手传授空白的优点方面,log post比帮助他们更为不幸。