我不明白为什么会出现这种错误:
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”,而不是计算有多少素数。
答案 0 :(得分:0)
我认为id
(和其余代码)不应与j=2
处于同一级别。
答案 1 :(得分:0)
错误在最后一行,您需要将其他行和print语句分成两行。
答案 2 :(得分:0)
“for循环”中的代码块开始和结束的位置由缩进确定。 你的“for循环”实际上没有任何作用,因为它没有代码块。