Python语法错误
当我在python中运行这段代码时,它给了我一个语法错误,并在我指出的行中突出显示了l。为什么要这样做Python语法错误,python,syntax,operators,new-operator,Python,Syntax,Operators,New Operator,当我在python中运行这段代码时,它给了我一个语法错误,并在我指出的行中突出显示了l。为什么要这样做 from Euler import primeSieve,sumDig def powerSieve(n): powers = [] primes = primeSieve(100) for i in primes: j = 2 while i ** j <= n: for k in primes:
from Euler import primeSieve,sumDig
def powerSieve(n):
powers = []
primes = primeSieve(100)
for i in primes:
j = 2
while i ** j <= n:
for k in primes:
if i == k and i ** j >= 10: powers.append(i ** j)
else:
l = 1
while l * (i ** j) <= n:
if l * (i ** j) >= 10: powers.append(l * (i ** j)
##THIS LINE l *= k
j += 1
return sorted(set(powers))
from time import clock
start = clock()
print "Answer to PE119 = ",powerSieve(100)
elapsed = clock() - start
print elapsed * 1000,"ms"
您之前的线路缺少一个紧括号。更改此项:
if l * (i ** j) >= 10: powers.append(l * (i ** j)
为此:
if l * (i ** j) >= 10: powers.append(l * (i ** j))
您忘记关闭前一行的括号。应该是:
powers.append(l * (i ** j))
在该行上方有一个if语句,因此上面的行应该以冒号结尾,突出显示的行应该缩进。Ahhh,我明白了。很简单。非常感谢。下面的每个人也一样。不要发表感谢评论,等待15分钟,然后接受最好的答案!错,请再次查看if语句。在决定发布re:a语法错误之前,您应该花更多的时间处理代码。