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 `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,697 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