循环中的Python num = num +1

时间:2017-10-02 03:15:32

标签: python

我不明白为什么会出现这种错误:

num = 0

for i in range(2, 30):
    j = 2
    prime = "is"
    while j < i:
        if i % j == 0:
            prime = "not"
            j = j + 1

        else:
            j = j + 1

    if prime == "is":
        num = num + 1
        print(num)
    else: prime = "is"

SyntaxError: multiple statements found while compiling a single statement

Traceback (most recent call last): File "<pyshell#1>", line 1, in <module>

如果在if或while语句之前定义了num,则脚本将只为1到29之间的每个素数打印一个“1”,而不是计算有多少素数。

3 个答案:

答案 0 :(得分:0)

我认为id(和其余代码)不应与j=2处于同一级别。

答案 1 :(得分:0)

错误在最后一行,您需要将其他行和print语句分成两行。

答案 2 :(得分:0)

“for循环”中的代码块开始和结束的位置由缩进确定。 你的“for循环”实际上没有任何作用,因为它没有代码块。