2016-12-19 2 views
0

Я хочу повторить код, пока пользователь не получит no. правильно. Как мне это сделать ? Это код: -как повторить код ввода пользователя?

function getRandomNumber(min,max){ 
    return Math.floor(Math.random()*(max - min + 1))+min; 
} 
randomNumber=(getRandomNumber(1,10)); 

input=prompt("Please enter a no. between 1 and 10:",""); 
if(input==randomNumber){ 
    console.log("Good Work"); 
}else{ 
    console.log("not matched"); 
} 
+0

'while' петли и' break' может помочь –

+0

В любое время вы оказываетесь не использовать слово «пока», чтобы описать процесс выполнения программы, это означает, что вы должны использовать 'в то время как цикл или рекурсивный вызов. – 4castle

+0

'console.log' ничего не возвращает. Присвойте 'randomNumber' непосредственно значению, возвращаемому' getRandomNumber'. – 4castle

ответ

0

Вы можете либо использовать время цикла, который вызывает «перерыв» заявление после того, как пользователь вводит правильный ответ, или вы могли бы использовать такую ​​функцию:

function getInput(){ 
input=prompt("Please enter a no. between 1 and 10:",""); 
if(input==randomNumber){ 
    console.log("Good Work"); 
}else{ 
    consol.log("not matched"); 
    getInput(); //Gets the user's input again 
} 
} 
0

Здесь вы идете ...

Для начала нужно установить значение false, иначе функция будет работать только одна. Внутри цикла while есть мало точек, в которых есть определение функции, поскольку оно будет создано как глобальная переменная.

var found = false; 
 

 
function getRandomNumber(min,max) { return Math.floor(Math.random()*(max - min + 1))+min; } 
 

 
while (found != true) { 
 
\t \t 
 
    \t var randomNumber = getRandomNumber(1,10); 
 

 
\t console.log('Random Number is..',randomNumber); 
 

 
    \t var input = prompt("Please enter a no. between 1 and 10:",""); 
 
    
 
\t if (input == randomNumber) { 
 
\t  alert('Well Done') 
 
\t  found = true; 
 
\t } else { 
 
\t  console.log("not matched"); 
 
\t } 
 
}

Смежные вопросы