Why are you returning Nan?

Asked

Viewed 100 times

0

I’m stuck in an exercise where I can’t get free, I’d like to know why you’re returning Nan, I think you’re giving some trouble in the "draw" function, but I’m not seeing which one.

    var mostraBR = function(frase){
		document.write(frase + "<br/>")
	}
	
	var mostraHR = function(frase){
		document.write(frase + "<hr/>")
	}

	var sorteia = function(x){
		var n = Math.round(Math.random * x);
		return n;
	}

	var numeroPensado = sorteia(10);

	var chute = prompt("Já Pensei. Qual número você acha que é?");
	if (chute == numeroPensado) {
		mostraHR("Você acertou, pois eu pensei no " + numeroPensado);
	} else {
		mostraBR("Você errou, eu tinha pensado no " + numeroPensado);
	}

	if (chute < numeroPensado) {
		mostraBR("Número " + chute + " é menor que " + numeroPensado);
	} else {
		mostraBR("Número " + chute + " é maior que " + numeroPensado);
	}

2 answers

5


Yes, the problem is in the draw function. You are trying to multiply the function itself Math.random, and not the return value of it. The correct would be:

var sorteia = function(x){
    var n = Math.round(Math.random() * x);
    return n;
}
  • Thank you, it was only at the time of writing Math.Andom that I forgot the parentheses...

1

You were just wrong when it came to declaring Math.ramdom().

Don’t worry, we all went through it when we were studying, it’s wrong you learn ;)

var mostraBR = function(frase){
		document.write(frase + "<br/>")
	}
	
	var mostraHR = function(frase){
		document.write(frase + "<hr/>")
	}

	var sorteia = function(x){
        x = Number(x)
		var n = Math.round(Math.random() * x)
        
		return n;
	}

	var numeroPensado = sorteia(10);

	var chute = prompt("Já Pensei. Qual número você acha que é?");
	if (chute == numeroPensado) {
		mostraHR("Você acertou, pois eu pensei no " + numeroPensado);
	} else {
		mostraBR("Você errou, eu tinha pensado no " + numeroPensado);
	}

	if (chute < numeroPensado) {
		mostraBR("Número " + chute + " é menor que " + numeroPensado);
	} else {
		mostraBR("Número " + chute + " é maior que " + numeroPensado);
	}

  • Thanks Rafael, it was an oversight of those...

Browser other questions tagged

You are not signed in. Login or sign up in order to post.