请问老师一个题外的问题

请问老师一个题外的问题

var randomNum=Math.floor(Math.random()*(9-1+1)+1);
        var input=prompt('输入要猜的数字');
        
        while(input!=randomNum) {
            if(isNaN(input)) {
                alert('输入的是非数字');
                break;
            }else if(input>randomNum) {
                alert('猜大了.....');
                input=prompt('输入要猜的数字');
            }else {
                alert('猜小了.....');
                input=prompt('输入要猜的数字');
            }
        }
        if(input==randomNum) {
            alert('猜对了!!!!');
        }

老师,如果我想在每次输入的数字都不对的情况下再显示一下随机出来的数字,应该怎么修改呢? 我在判断语句的alert后面加上randomNum,发现这个随机的数就不再随机了....... 是因为一直在这个循环里面吗?随机的数字需要每次刷新在循环的外面才生效是吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2020-09-16 18:48:33

同学你好,理解的有些误差,不是因为随机的数字在循环里面没有挑出来,而是因为生成随机数的代码写在循环外面,只会执行一次生成一个随机数,并不会在每次循环的时候都会生成一个新的随机数。

本题要实现的效果,就是随机生成一个数,生成之后这个数就不会改变了,然后让用户猜测这个随机数,直到用户猜测正确了,所以在循环外生成一次随机数就可以了。

祝学习愉快~

好帮手慕慕子 2020-09-16 18:38:40

同学你好,是指数字输入不对的时候,提示用户生成的随机数(也就是正确数字)是什么吗?如果是这样的话可以在弹出框的时候提示一下,示例:

http://img1.sycdn.imooc.com//climg/5f61eafa090adadd08130517.jpg

同学可以测试下,如果不是指这里的话,可以详细描述下具体指的是哪里,并将你测试的代码粘贴过来,老师帮助同学再测试下。

祝学习愉快~

  • 提问者 粉墨登场 #1
    我一开始就是像老师这样写的,但是测试后发现随机的数字就不变了,是因为随机的数字在循环里面并没有跳出来吗?
    2020-09-16 18:42:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师