While - один из самых универсальных циклов в Python, поэтому довольно медленный. Выполняет тело цикла до тех пор, пока условие цикла истинно.
cnt = 1 while cnt <= 10: print(cnt) cnt +=1 # Вывод # 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 cnt = 1 while cnt <= 10: print(cnt, sep='',end=' ')#разделитель '' = sep='', вместо переноса пробел - end=' ' cnt +=1 # Вывод #1 2 3 4 5 6 7 8 9 10
Цикл for уже чуточку сложнее, чуть менее универсальный, но выполняется гораздо быстрее цикла while. Этот цикл проходится по любому итерируемому объекту (например строке или списку), и во время каждого прохода выполняет тело цикла.
s = 'Hello world!!!' for i in s: if i == ' ':#если встерим пробел пропускаем сивол continue print(i, end=' ')#вместо переносов строк используем пробел end=' ' print('') # Перенос на новую строку
Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла (for или while)
s = 'Hello world!!!' for i in s: if i == ' ':#если встерим пробел пропускаем сивол continue print(f'"{i}"', end=' ')#с форматированием строк # Вывод # "H" "e" "l" "l" "o" "w" "o" "r" "l" "d" "!" "!" "!"
Оператор break досрочно прерывает цикл.
for i in 'Hello world!!!': if(i == ' '): break#Вывод из цикла в случае если встретим пробел print(i, end=' ') # Вывод # H e l l o
Слово else, примененное в цикле for или while, проверяет, был ли произведен выход из цикла инструкцией break, или же «естественным» образом. Блок инструкций внутри else выполнится только в том случае, если выход из цикла произошел без помощи break.
for i in 'Helloworld!!!': if(i == ' '): break#Вывод из цикла в случае если встретим пробел print(i, end=' ') else:#Сработает если не будет вылет из цикла - break print('') print('В строке не пробелов') # Вывод: # H e l l o H e l l o w o r l d ! ! ! # В строке не пробелов