Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2019, 21:01   #1
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию [Python] Подскажите почему переменная running с значением True стоит перед while?

number = 23
running = True
while running:
guess = int(input('Введите целое число : '))
if guess == number:
print('Поздравляю, вы угадали.')
running = False # это останавливает цикл while
elif guess < number:
print('Нет, загаданное число немного больше этого')
else:
print('Нет, загаданное число немного меньше этого.')
else:
print('Цикл while закончен.')
# Здесь можете выполнить всё что вам ещё нужно
print('Завершение.')

#Подскажите( объясните) почему переменная running с значением True стоит перед while? и такая же переменная стоит в цикле со значением False?( или это пример?).
bITA666 вне форума Ответить с цитированием
Старый 22.03.2019, 21:09   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от bITA666 Посмотреть сообщение
Подскажите( объясните) почему переменная running с значением True стоит перед while?
Потому что перед использованием флага его надо инициализировать

Цитата:
Сообщение от bITA666 Посмотреть сообщение
и такая же переменная стоит в цикле со значением False?
Не такая же, а переменной присваивается значение. Потому что флаг надо сбросить.

Цитата:
Сообщение от bITA666 Посмотреть сообщение
( или это пример?).
Пример чего?

Вам сделали задачу, а вы даже основы не посмотрели?
p51x на форуме Ответить с цитированием
Старый 22.03.2019, 21:14   #3
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию

А что за флаг? Смотрел, есть разъяснение, но для меня не понятно именно некоторые нюансы.
Мы переместили операторы input и if внутрь цикла while и установили переменную running в значение True перед запуском цикла. Прежде всего проверяется, равно ли значение переменной running True, а затем происходит переход к соответствующему while-блоку.

Но все равно не пойму .
bITA666 вне форума Ответить с цитированием
Старый 22.03.2019, 21:16   #4
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию

Логично что переменная будет true! так вопрос зачем её ставить?
bITA666 вне форума Ответить с цитированием
Старый 22.03.2019, 21:21   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от bITA666 Посмотреть сообщение
Логично что переменная будет true!
Это почему? Переменные по умолчанию в тру не устанавливаются.

Цитата:
Сообщение от bITA666 Посмотреть сообщение
так вопрос зачем её ставить?
Чтобы цикл крутить, а потом сбросить и выйти.

Возьмите листок бумаги и без программирования напишите пошаговый алгоритм этого процесса.
p51x на форуме Ответить с цитированием
Старый 22.03.2019, 21:35   #6
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию

Мы переместили операторы input и if внутрь цикла while и установили переменную running в значение True перед запуском цикла. Прежде всего проверяется, равно ли значение переменной running True, а затем происходит переход к соответствующему while-блоку.
То что input и if мы поместили внутрь цикла это понятно. Потом мы установили в переменную running значение True перед запуском цикла. Потом идет проверка! Но какая? если мы только проверяем условием if, else, elif которое вводит пользователь и присвоенное в переменную number. Я надеюсь объяснил правильно своё понимание. Но вот к сожалению не понимаю почему переменная с True стоит рядом с while и как она проверяется если она даже не в блоке.
bITA666 вне форума Ответить с цитированием
Старый 22.03.2019, 21:47   #8
bITA666
Форумчанин
 
Аватар для bITA666
 
Регистрация: 22.03.2019
Сообщений: 115
По умолчанию

Спасибо.
bITA666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Python] Подскажите почему переменная running с значением True стоит перед while? bITA666 Помощь студентам 3 22.03.2019 21:10
Python (max элемент, перед которым стоит нулевой) PIA111 Python 2 11.02.2016 16:43
Если встречается нечетный элемент, то перед ним и после него вставить новые элементы со значением 0 (C++) yurets17 Помощь студентам 2 04.03.2014 18:12
Символы перед значением в строке формул IrinaA Microsoft Office Excel 7 10.12.2010 12:33
Вставка записи, перед которой стоит ноль artemavd БД в Delphi 3 28.06.2010 06:54