Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   или(||) и(&&) (https://javascript.ru/forum/dom-window/77861-ili-%7C%7C-i.html)

Кирилл Margheriti 26.06.2019 19:43

или(||) и(&&)
 
Задача из книги https://drive.google.com/file/d/1ZHL...xKETN4eeS/view Страница 125

Добавьте в программу переменную для учета попыток и завершайте игру, если игрок израсходовал все попытки. (Подсказка: проверяйте значение этой переменной в том же цикле while, где проверяется условие remainingLetters > 0, а с помощью операции && можно убедиться, что сразу два логических условия дают true.

https://repl.it/repls/LightblueRundownVisitor
Здесь есть решение в 30 строке
while (remainingLetters > 0 && guesses > 0) {
.

Подскажите почему здесь использовалось && а не ||? Ведь тут речь о том что заканчивать когда наберётся определённое колличество попыток. Мне ведь не обязательно делать так чтобы и первое условие и второе должны быть верны,так?

рони 26.06.2019 19:49

Кирилл Margheriti,
&& сразу два условия истинны. комбинации [1, 1].
|| это одно из двух, комбинации [1, 0] [1, 1] [0, 1]

Кирилл Margheriti 28.06.2019 09:05

Получается
while (remainingLetters > 0 && guesses > 0) {
говорит что пока первое и второе условие true делать что-то, но ведь если мы соединим два условия то "remainingLetters > 0" и "guesses > 0" должны выдавать false чтобы цикл прекратился или нет?

Простите немного не понимаю.

рони 28.06.2019 10:03

Кирилл Margheriti,
условие "говорит": закончить цикл, если любой из параметров стал меньше единицы.

Aetae 28.06.2019 23:14

Цитата:

должны выдавать false чтобы цикл прекратился или нет
Нет.

Дв и Да = Да.
Да и Нет = Нет.
Нет и Да = Нет.
Нет и Нет = Нет.


Дв или Да = Да.
Да или Нет = Да.
Нет или Да = Да.
Нет или Нет = Нет.


Часовой пояс GMT +3, время: 11:02.