为什么把input == random放到不相等的前面就显示不出alert答对了的话呢?

来源:4-9 编程练习

sunshine_mtt

2018-08-11 17:29:41

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

<script>

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

   function myFun(m,n){

       var choice = n-m+1;

       return Math.floor(Math.random()*choice+m);

   }

   var random = myFun(1,9);

   

   while(input != random) {

       if(input > random){

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

       }else if(input < random) {

           alert("输入的数字小了");

       }

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

   }

   

  while(input == random){

       alert("恭喜你猜对了");

       break;

   } 

   

</script>

</body>

</html>


写回答

2回答

好帮手慕星星

2018-08-12

判断了相等之后,下面没有代码了,是不会去上面找的,所以就直接停止了。

这个代码,不需要使用两个循环,直接弹出相等就可以了,

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

0

好帮手慕星星

2018-08-12

把input == random放到不相等的前面:因为代码是按照顺序执行的,如果第一次输入的不相等,就会进入不相等的循环体里面,然后输入相等之后,跳出循环往后面之后,可以后面没有代码了,所以就弹不出来了。自己再理解下,祝学习愉快~~

0
hunshine_mtt
h 判断了相等就不进入该循环了?是否在所有的循环中都要先判断错的条件再判断对的条件?还有,像本题要用两次while,有没有好的方法只用一个while呢?
h018-08-12
共1条回复

0 学习 · 36712 问题

查看课程