Michaly4
@Michaly4
Учусь всю жизнь учусь)

Пароль и 4 попытки, с циклом while или do..while?

Добрый день!
Задача нужно написать программу ТОЛЬКО while или do..while ,которая запрашует пароль макс 4 раза,если пароль введён в любой из этих раз правильно,тогда "Добро пожаловать ",если нет , у Вас ещё 4,3,2.... когда попытки заканчуются "Попробуйте в другой раз"!!
Я только начал изучать JS и уже начинаю его не любить!!))
Вот на что я только максимум додумался за последние три дня⬇️⬇️,буду благодарен за помощь!!!?)
// с do...while //
let i = 3;
let ask =+ prompt('Пароль');
let pass = 1;
do{
  if(ask !== pass){
    ask =+prompt(`У вас ещё ${i} попытки`);
  }
  else if(ask == pass , i == 3){
    console.log('Добро пожаловать);
    
  }
 else if (0)
    console.log("Попробуйте позже");
 
  i--;
}
while(i>0 );

// с while  //
let ask = +prompt("Пароль");
let pass = 1;
let i = 0 ;
while( i < 4 ){
  if ( ask == pass){
    console.log("Добро пожаловать ");
  }
  else if (ask !== pass){
    ask = + prompt(`У вас ещё ${i} попытка`);
    
  }
  else{
    console.log ("Попробуйте в другой раз")
  }
  i++
}

Был признателен если бы вы и объяснили где я конкретно туплю!!спс
  • Вопрос задан
  • 99 просмотров
Решения вопроса 2
profesor08
@profesor08 Куратор тега JavaScript
let ask =+ prompt('Пароль');

Привет NAN

let pass = 1;

А prompt возвращает строку

ask =+

Зачем прибавлять, если надо задать.

else if(ask == pass , (запятая?) i == 3)

Запятая это не логическая операция.

ask == pass

Используй ===, желательно всегда.

console.log('Добро пожаловать);

Нет кавычки.

else if (0)

Это условие никогда не выполнится.

let ask = +prompt("Пароль");

+prompt не делай так.
Ответ написан
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
let i = 4;
let ask = prompt('Пароль');
let pass = '1';
do {
  if(ask !== pass){
  	if (i === 1) {
  		alert("Попробуйте позже");
  		i = 0;
  	} else {
  		ask = prompt(`Попробуйте еще раз. У вас ещё ${i - 1} попытки`);
    	i--;
  	}
  }
  else if(ask == pass){
    alert('Добро пожаловать');
    i = 0;
  }
} while(i > 0);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
25 янв. 2021, в 10:22
4000 руб./за проект
25 янв. 2021, в 10:12
1500 руб./за проект