关于4-7编程练习

关于4-7编程练习

1
2
3
4
5
6
7
8
9
10
11
12
var num = Math.floor(Math.random() * 10);
var input;
while(input != num) { 
    input = parseInt(prompt('请输入您猜的数字(1-9)'));
    if(input > num) {
        alert('您输入的数值大了');
    }else if (input < num) {
        alert('您输入的数值小了');
    }else {
        alert('恭喜您猜对了');
    }
}

当用户输入的数字与系统随机的数字不相等时,代码可以正常跑起来.

当用户输入的与系统随机的数字相等时,这段代码就不能正常运行了


问题:请教老师while语句中的条件我应该怎么写呢?谢谢

正在回答

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

2回答

如果刚开始就输入对了,那么就会直接弹出“恭喜您猜对了”.

因为输入框是写在while循环里的,input的默认值是空的,所以无论如何都会进入while循环中,弹出输入框,输入内容,然后再判断。

  • 微漾无痕 提问者 #1
    哎呀....脑子秀逗了,谢谢老师耐心解答XD
    2017-12-13 13:55:45
小丸子爱吃菜 2017-12-12 18:48:07

测试了你的代码,实现的效果是没有问题的,当用户输入的与系统随机的数字相等时,会弹出“恭喜你猜对了”~

不知道你说的不能正常运行是什么情况,可以详细说一下!
祝学习愉快!

  • 提问者 微漾无痕 #1
    谢谢老师的解答. 可能我描述的有问题. 我的意思是: 代码中while语句的条件为当他们不等时,会顺利进入语句,执行里面的代码. 可是,在进入while语句前,判断条件时,万一他们相等不就不能执行while中的代码了吗? 也就是说浏览器将会声明都不会弹出来. 所以我想请教下,老师我while中的条件该如何写,才能避免这一情况
    2017-12-12 21:58:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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