此代码段工作正常
if True: print "just True"
if (True): print "(True)"
正在研究循环,这些工作正常
for i in range(1, 3):
print i
i = 0
while i < 3: # without paranthesis
print i
i = i + 1
i = 0
while (i < 3): # with paranthesis
print i
i = i + 1
当我尝试
时for (i in range(1, 3)):
print i
我收到错误&#34;语法错误:语法无效&#34;
我明白外面的括号是让循环变得疯狂(错误)但是我违反了这部分语法?它在while循环中运行良好
答案 0 :(得分:5)
for
for <variable(s)> in <expression>
由于您使用for_stmt ::= "for" target_list "in" expression_list ":" suite
["else" ":" suite]
括号,因此语法无效。
<variable> in <expression>
和for
必须出现在相同的嵌套级别。
in
因此,允许使用括号,但在Python中不是必需的
答案 1 :(得分:2)
你不能在任何你想要的地方加注额外的括号。通常声明的while
语法是:
while <condition>:
在这里,你只是围绕一个带括号的条件,这很好,就像你看到的那样。 for
循环的语法是:
for <variable> in <expression>:
您可以在括号中包围expression
,但不能包含语法的任意部分。