в цикле while, где вы должны разместить переменную для подсчета? - PullRequest
0 голосов
/ 09 сентября 2018

введите описание изображения здесь

Пожалуйста, извините, что я публикую свой код как изображение. Это простое отгаданное игровое выражение.

Когда вы смотрите на последнюю строку кода, есть код «+ 1», который подсчитывает, сколько раз он зациклен.

Итак, мой вопрос, результат меняется, когда я помещаю «попытки + = 1» прямо под строка кода «угадай = ввод (« Какой твой счастливый номер? »)».

Так в чем же разница поместив его в последнюю строку блока кода и прямо под началом кода цикла while.

Спасибо за помощь:)

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Разве не было бы намного проще просто скопировать текст, чем распечатать экран и обрезать изображение? Число попыток устанавливается равным 1, что вводит в заблуждение, поскольку в тот момент в программе не было никаких попыток. Логически имеет смысл инициализировать попытки 0 и поместить приращение сразу после ввода пользователя. Но поскольку программа не была структурирована таким образом, попытки должны быть увеличены после сравнения предположения с целью; в противном случае, если предположение пользователя верное, на выходе будет показано количество попыток на единицу больше, чем фактическое число попыток.

0 голосов
/ 09 сентября 2018

То, что вы неправильно понимаете, - это порядок выполнения вашего кода. В вашем цикле три важных события:

  1. Вы спрашиваете пользователя об их догадке
  2. Вы обрабатываете их догадки, и, если они правильно понимают, вы отображаете текущее значение переменной tries
  3. Вы увеличиваете переменную tries в операторе tries += 1

Они выполняются именно в таком порядке. Таким образом, когда пользователь угадывает правильно, ему говорят, что значение tries до снова увеличивается. Если вы поместите строку tries += 1 сразу после оператора ввода, то это значение будет увеличиваться до того, как оно будет напечатано. Таким образом, отображаемое значение отличается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...