Форум сайта python.su
Доброго времени суток, помоги понять такую вещь.
Почему при срабатывании условия (if), начинается новый цикл и print во второй строке не срабатывает?
Ведь в описании, continue начинает новый проход цикла, минуя оставшееся тело цикла. Но строка 2 относится уже к новому циклу? Или я что то не понимаю?
for i in range(1, 6): print() print('i =', i) print('Привет, как', end=' ') if i == 3: continue print('твои дела')
Отредактировано Nedobolsky (Янв. 20, 2021 21:29:06)
Офлайн
оформите код по правилам,рядом со смайлом в редакторе список тегов
Офлайн
интерпретатор когда прочитает continue перебрасывает курсор в начало цикла,если бы была команда break, то закончил бы цикл,т.е курсор переведен после цикла.
Понятно?
Nedobolskyв строке
и print во второй строке не срабатывает?
print('Привет, как', end=' ')
for i in range(1, 6): print("новая строка") print('i =', i) print('Привет, как', end=' ') if i == 3: continue print('твои дела')
новая строка i = 1 Привет, как твои дела новая строка i = 2 Привет, как твои дела новая строка i = 3 Привет, как новая строка i = 4 Привет, как твои дела новая строка i = 5 Привет, как твои дела Process finished with exit code 0
Отредактировано xam1816 (Янв. 20, 2021 21:51:26)
Офлайн
xam1816Это понятно, не понятно только одно, в новом цикле вторую строку он пропускает!
интерпретатор когда прочитает continue перебрасывает курсор в начало цикла,если бы была команда break, то закончил бы цикл,т.е курсор переведен после цикла.Понятно?
for i in 'hello world': if i == 'o': continue print('Не печатать') print(i * 2)
Офлайн
for i in range(1, 6): print("новая строка") print('i =', i) print('Привет, как', end=' ') if i == 3: continue print('твои дела') #Не печатается при срабатывании условия if
for i in 'hello world': if i == 'o': continue print('Не печатать')#Печатается при срабатывании условия if print(i * 2)
Офлайн
Nedobolsky
“Не печатать” выводится на экран во всех циклах
Не печатать hh Не печатать ee Не печатать ll Не печатать ll Не печатать Не печатать ww Не печатать rr Не печатать ll Не печатать dd
Офлайн
xam1816Все, понял, спасибо!
Офлайн
Nedobolskyчтобы он напечатался,нужно чтобы интерпретатор прочитал эту команду,но не смог,потому что перед ним выполнилось условие для выполнения кода в блоке после if команда continue,которая говорит все что ниже не выполнять,а начать цикл заново
print('твои дела') #Не печатается при срабатывании условия if
Офлайн