Вопрос про логику цикла while

name_Andrey

Новичок
Пользователь
Апр 7, 2020
1
2
3
Приветствую всех! Я только начинаю изучать python (изучаю по книге). И в процессе изучения у меня возник вопрос по логике цикла while в двух примерах кодов.
Пример1.
Python:
name = ''
while name != 'your name':
    print ('please enter your name')
    name = input()
print('thanks')
Пример2.
Python:
name = ''
while True:
    print('please enter "your name"')
    name = input()
    if name == 'your name':
        break
print ('thanks')

Несколько вопросов:
  1. Цикл как я понимаю идет пока не будет выполняться указанное условие. Выполнение указанного условия цикла это - True?
  2. Соответственно цикл выполняется пока получает False?
  3. Предисловие к вопросу3. Пример2. Предположим name равно "asd", тогда if name =='your name' будет False, и соответственно while получит Fasle. Здесь все логично.
Пример1. Предположим name равно "asd", тогда while получит True(т.к. "asd" не равно "your name")? Почему в данном примере while выполняется когда получает True и заканчивает выполнение когда получает False, ведь должно быть наоборот?

Вот такой вопрос возник. Спасибо заранее за ответы.
 
  • Мне нравится
Реакции: Mut3x и Student

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
Начнем с того, что while это не функция, while это цикл языка программирования Python.
Вы можете ознакомиться с циклом while в нашей статье: https://python-scripts.com/loops-for-while#while

Ответы на ваши вопросы:
  1. Пока условие True, то цикл выполняется. Пока условие возвращает True, то цикл повторяет тело-цикла.
  2. Да, как только условие будет False он прекратит работу.
  3. Получив False, цикл while остановится.
Тут как раз все логично, пока все правильно (True) цикл будет работать, как только условие ложное (False) цикл прекратит работу.
 
  • Мне нравится
Реакции: Rud356

Форум IT Специалистов