为什么输入数字5会没显示猜对了

为什么输入数字5会没显示猜对了

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>猜数字</title>
</head>
<body>
    <script>
   var i=prompt("请输入您猜的数字");
   while(i!=5){
       if(i>=1&&i<5){
           alert("猜小了");
       }
       else if(i>5&&i<=10){
           alert("猜大了");
       }
       else if(i<1&&i>10){
           alert("请输入1到10的数字");
       }
       else{
           alert("猜对了");
       }
   }
</script>
</body>
</html>


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

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

3回答
好帮手慕星星 2018-03-18 14:05:09

测试了你的代码,因为while循环的条件就是i不等于5,所以输入的值为5时,是不会进入循环的,可以参考以下修改:

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

自己再测试下,祝学习愉快~~

KD_35 2018-03-18 10:45:27

你while执行的条件是i!=5,那i=5的时候就不会执行方括号内的代码,自然就不会弹出猜对了,你把while去掉输入的时候就会弹出来了

慕工程4228396 2018-02-17 15:18:34

你输入是string你要通过parseInt()转化成数字。比较的时候不需要逻辑与

整段代码

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>猜数字</title>

</head>

<body>

    <script>

    var input=parseInt(prompt("请输入您猜的数字"));

    while(input!=5){

        if(input<5){

            alert("猜小了");

            input=parseInt(prompt("请输入您猜的数字"));

        }else if(input>5){

            alert("猜大了");

            input=parseInt(prompt("请输入您猜的数字"));

        }

    }

    alert("猜对了")

</script>

</body>

</html>


  • 提问者 慕丝4211785 #1
    可是输入的数字范围不是要1到10吗?
    2018-02-17 21:49:32
  • 慕工程4228396 回复 提问者 慕丝4211785 #2
    那我没注意到,如果有就带上逻辑与
    2018-02-17 23:43:21
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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