Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Loops, Arrays and Objects Simplify Repetitive Tasks with Loops Create a `do...while` loop

Ai Imouto
Ai Imouto
2,695 Points

Stuck on this code challenge of rewriting while loop to do...while loop.

I ran my code through Sublime text and opened it in the browser. It worked on the second time I guessed in the prompt dialog box though. =(

script.js
var secret = prompt("What is the secret password?");
var guess;
var correctGuess = false;

do {
     secret = prompt("What is the secret password?");
     if(guess = "sesame") {
        correctGuess = true;
     }  
} while ( ! correctGuess )

document.write("You know the secret password. Welcome.");
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

1 Answer

Brendan Whiting
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Brendan Whiting
Front End Web Development Techdegree Graduate 84,736 Points

Why are you prompting "What is the secret password" twice? You could just declare the variable once within the do while loop.

Also, whichever variable you put their answer inside, that's the variable you should be checking if it is "sesame" inside your "if" loop. So write now you don't need a variable called "guess", you could just check to see if secret contains the string "sesame", because that's where you're putting your answer. Or else just put the return value of prompt inside the guess variable and do it that way.