Цикл while в Python считается менее надёжным, чем for, из-за возможности его бесконечного выполнения. 12 Это происходит, если условие цикла никогда не становится ложным, то есть момент выхода из цикла не наступит. 2
Чтобы избежать таких ситуаций, при использовании while нужно проверять, перестанет ли когда-нибудь выполняться условие. 1 Иначе программа зависнет и придётся завершать её принудительно. 2
Цикл for, в свою очередь, используется, когда количество итераций зависит от того, сколько в условии задано элементов. 2 Для него устанавливается не условие в чистом виде, а некий массив данных: список, кортеж, строку, словарь, диапазон или любой другой итерируемый объект. 1