Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

Not sure my code is working as expected

It takes my code one attempt to guess the number regards of which number is enter in the prompt dialog. Something seems to be wrong but i cant figure it out.

var randomNumber = getRandomNumber(10);
var guess;
var guessCount = 0;
var correctGuess = false; 

function getRandomNumber(upper) {
  var num = Math.floor(Math.random() * upper ) + 1;
  return num;

}

do {
  guess = prompt('Guess a number btw 1 -10');
  guessCount += 1;
  if (parseInt(guess) === randomNumber){
    correctGuess = true; 

  }
} while ( ! correctGuess )
  document.write('<h1>You guessed the number!</h1>');
document.write('It took you ' + guessCount + 'tries to guess the number ' + randomNumber);

I'm not sure what's going on. Your code is right and works for me. Maybe more testing?

1 Answer

Dario Bahena
Dario Bahena
10,695 Points

Refresh your browser or restart. Your code is fine. Although parseInt should have a radix.

// 10 is used because we use base 10 for counting numbers
// without it, this cannot be guaranteed.
parseInt(guess, 10)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt