PY3.W0120

Useless else on loop

Loops should only have an else clause if they can exit early with a break statement, otherwise the statements under else should be on the same scope as the loop itself.

Noncompliant Code:

Copy
for i in range(10):
    if i == 5:
        break
    print(i)
else:
    print('Found a bad value.')

Compliant Code:

Copy
for i in range(10):
    if i == 5:
        continue
    print(i)
else:
    print('Found a bad value.')

The content on this page is adapted from the Pylint User Guide, Copyright ©2003-2022, Logilab, PyCQA and contributors. All rights reserved. https://pylint.pycqa.org/en/latest/index.html#, and is used under the Python Software Foundation License Version 2. Examples, recipes, and other code in the Pylint documentation are additionally licensed under the Zero Clause BSD License.