为什么var input=prompt的这个放入while循环里不相等会一直弹出,什么流程

来源:4-9 编程练习

qq_浮巷旧人_0

2018-11-11 00:27:11

<html>

<head>

    <meta charset="UTF-8">

    <title>Math.random()</title>

</head>

<body>

<script>

  //补充代码

  var number=Math.floor(Math.random()*9+1);

  

  while(input!=number){

        var input=prompt("请输入你要猜的数字");

        if(input>number){

            alert("输入的数大了");

        }else if(input<number){

            alert("输入的数小了")

        }

    }  

         alert("恭喜你猜对了")

     

</script>

</body>

</html>


写回答

2回答

Miss路

2018-11-12

因为你放到外面之后,里面不会再循环弹出输入框了,但是while里面的条件永远成立,因为input只要判断出了猜大了,或者猜小了,就永远不等于number,所以就会无限循环猜大了,或者是猜小了。你的代码逻辑是有问题的,不过没有关系,一步步的发现问题,初步解决会让你收货更大。

关于判断这一块,如果你只想要判断一遍,可以参考下面的写法,不需要用while循环:

http://img.mukewang.com/climg/5be8e0fa0001797e06980299.jpg

如果想要循环判断,参考如下:

http://img.mukewang.com/climg/5be8e2c30001ab7a05990377.jpg

如果帮助到了你,欢迎采纳!

0
hiss路
回复
hq_浮巷旧人_0
h 你试试能不能正常弹出,只要不能正常弹出就是错的。要看逻辑哦,不能随意乱猜。祝学习愉快!
h018-11-12
共2条回复

Miss路

2018-11-11

因为猜不对的时候,就让一直猜,只要不对就循环。如果只想要猜一遍的话,就把这句放到循环外面。

如果帮助到了你,欢迎采纳!

0
hq_浮巷旧人_0
h 放到外面会一直弹出你的数大了一直死循环为什么啊 ,,因为while嘛
h018-11-11
共1条回复

0 学习 · 36712 问题

查看课程