A função prompt só entra em função apenas uma vez.
<meta charset="UTF-8">
<script>
function dw(frase) {
document.write(frase);
}
var numeroPensado = Math.round(Math.random() * 10);
var chute = parseFloat(prompt("digite seu chute!"));
var tentativas = 1;
while(tentativas <= 3) {
if(chute == numeroPensado) {
dw("Você acertou!");
} else if (chute >= 5.1 && chute <= 5.9) {
dw("Foi quase lá!");
} else if (chute >= 4.5 && chute <= 4.9) {
dw("Foi quase lá!");
} else {
dw("Você errou, o número pensado foi " + numeroPensado);
}
tentativas++;
}
</script>