.. _while-used:

while-used / W0149
==================

**Message emitted:**

Used `while` loop

**Description:**

*Unbounded `while` loops can often be rewritten as bounded `for` loops. Exceptions can be made for cases such as event loops, listeners, etc.*

**Problematic code:**

.. literalinclude:: /data/messages/w/while-used/bad.py
   :language: python

**Correct code:**

.. literalinclude:: /data/messages/w/while-used/good.py
   :language: python


**Related links:**

- `Stackoverflow discussion <https://stackoverflow.com/questions/920645/when-to-use-while-or-for-in-python>`_


.. note::
  This message is emitted by the optional :ref:`'while_used'<pylint.extensions.while_used>`
   checker which requires the ``pylint.extensions.while_used`` plugin to be loaded.

Created by the `while_used <https://github.com/PyCQA/pylint/blob/main/pylint/extensions/while_used.py>`__ checker.