Python 语法错误

发布于 2024-11-30 14:32:10 字数 745 浏览 2 评论 0原文

当我在 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:
                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"

When I run this code in python, it is giving me a syntax error and highlighting the "l" in the line that I have pointed out. Why is it doing this?

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"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

青柠芒果 2024-12-07 14:32:10

您之前的行中缺少一个右括号。改变这个:

if l * (i ** j) >= 10: powers.append(l * (i ** j)

到这个:

if l * (i ** j) >= 10: powers.append(l * (i ** j))

You're missing a close bracket on the line before. Change this:

if l * (i ** j) >= 10: powers.append(l * (i ** j)

To this:

if l * (i ** j) >= 10: powers.append(l * (i ** j))
望笑 2024-12-07 14:32:10

您忘记关闭前一行的括号。应该是:

powers.append(l * (i ** j))

You forgot to close the brackets on the preceding line. It should be:

powers.append(l * (i ** j))
自由范儿 2024-12-07 14:32:10

该行上方有一个 if 语句,因此上面的行应以冒号结尾,并且突出显示的行应缩进。

You have an if statement above that line, so the above line should end in a colon and the highlighted line should be indented.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文