关于JavaScript猜数字游戏及console.log()输出异常的技术问询
嘿,我来帮你搞定这两个猜数字游戏的问题!咱们直接看修正后的代码,再拆解每个问题的解决思路:
// 生成目标数字,这里用固定值10做示例,实际可替换为随机数:Math.floor(Math.random() * 100) + 1 const correctNumber = 10; let guessCount = 0; let isGuessed = false; while (guessCount < 5 && !isGuessed) { const userGuess = parseInt(prompt("请输入一个1-100之间的数字:")); guessCount++; // 可选:增加输入有效性验证 if (isNaN(userGuess)) { console.log(`第${guessCount}次猜测:输入无效,请输入有效数字!`); continue; } // 先输出当前猜测的结果与大小提示 if (userGuess === correctNumber) { console.log(`恭喜你,猜对了!你用了${guessCount}次机会。`); isGuessed = true; } else if (userGuess > correctNumber) { console.log(`第${guessCount}次猜测:${userGuess},猜大了!`); } else { console.log(`第${guessCount}次猜测:${userGuess},猜小了!`); } // 用完所有次数且未猜对时,输出最终提示 if (guessCount === 5 && !isGuessed) { console.log(`你已用完5次猜测机会,正确答案是${correctNumber}`); } } // 现在这条日志一定会正常显示 console.log("游戏结束!");
关键修改点说明
解决最后一条
console.log()不显示的问题
之前的代码大概率是把这条日志放在了循环内部或某个条件分支里,导致被跳过。现在把它移到循环外部,不管玩家是猜对获胜还是用完次数,都会执行这行代码。解决第5次错误时的提示缺失问题
调整了提示输出的顺序:每次玩家提交猜测后,先输出当前的猜测内容和“猜大了/猜小了”的反馈,再判断是否用完了所有次数。这样第5次猜错时,会先展示最后一次的猜测详情,再提示用完机会和正确答案,完美匹配你的需求。
另外我额外加了输入验证逻辑,防止玩家输入非数字内容导致程序异常,这个是可选优化项,你可以根据需求保留或移除~
内容的提问来源于stack exchange,提问作者C Alexandru
相关产品推荐
相关产品推荐

