elif command == 'join':
if len(params) < 1: continue
safeexec(params[0], getattr(botimpl, 'onenter', None), (params[0], prefix))
它说
语法错误'continue'在循环中不正确
当我运行文件时。
答案 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
子句不在循环内(如for
或while
)。
你能做什么?
检查你的逻辑。你真的想用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
只能在语法上嵌套在for
或while
循环中,但不能嵌套在该循环中的函数或类定义或finally
子句中。它继续进行最近的封闭循环的下一个循环。当
continue
将控件从try
语句中移出finally
子句时,finally
子句在真正开始下一个循环周期之前执行。