循环中语法错误'continue'不正确

时间:2014-05-28 06:14:23

标签: python syntax

elif command == 'join':
    if len(params) < 1: continue
    safeexec(params[0], getattr(botimpl, 'onenter', None), (params[0], prefix))

它说

  

语法错误'continue'在循环中不正确

当我运行文件时。

4 个答案:

答案 0 :(得分:3)

您不能continue声明if。你需要它在一个循环中。

for x in range(10):
    if x == 4:
        continue
    # Do work

然而,

if x == 4:
    continue

错了。

Python Docs声明:

  

continue语句也是从C借用的,继续循环的下一次迭代:

答案 1 :(得分:0)

continue关键字用于直接循环的下一次迭代,跳过关键字后面的代码。所以,错误

SyntaxError: 'continue' not properly in loop

表示elif子句不在循环内(如forwhile)。

你能做什么?

  • 检查你的逻辑。你真的想用continue吗?

  • 将代码置于循环中:

    while (...):
        if command == 'join':
            continue
    

答案 2 :(得分:0)

continue必须在while或for循环中,检查你的elif语句是否在for或while循环中。如果是,请检查缩进。

答案 3 :(得分:0)

保留

The continue keyword以跳过循环的迭代而不是if条件块。你想做的更多是这个:

elif command == 'join' and len(params) >= 1:
    safeexec(params[0], getattr(botimpl, 'onenter', None), (params[0], prefix))

来自文档:

  

continue只能在语法上嵌套在forwhile循环中,但不能嵌套在该循环中的函数或类定义或finally子句中。它继续进行最近的封闭循环的下一个循环。

     

continue将控件从try语句中移出finally子句时,finally子句在真正开始下一个循环周期之前执行。