4 - 9 编程练习

来源:4-9 编程练习

目訫

2018-09-17 11:52:14

这个while循环的判断条件合理吗?while循环的变量变化语句(例:i++)是不是可以没有?这里在循环内部为nums赋值是不是就相当于改变了判断语句的变量了呢?在外部为nums赋值就会导致死循环,这是为什么?这段代码,尽管是自己写的,写完还是有很多地方不明白,希望可以指点一下,就这几个问题。
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Math.random()</title>
</head>
<body>
<script>
  var num = Math.floor(Math.random() * (9 - 1 + 1) + 1), nums;
  while(nums != num) {
      nums = prompt("Your Number:");
      if(nums > num) {
          alert("输入的数字大了");
      } else if (nums < num) {
          alert("输入的数字小了");
      }
  }
  alert("恭喜你猜对了");//补充代码
</script>
</body>
</html>
写回答

2回答

好帮手慕星星

2018-09-17

1、这道题中是合理的呢,但是建议在循环外面也添加一个nums的弹框,否则都会进入while循环再判断,因为nums开始没有值,参考:

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

2、while循环条件中有一个条件就可以了,i++是for循环里面的,while循环中只有不满足条件就会一直循环,所以不需要i++这种增长。

3、是的呢,nums是一个全局变量,在循环中改变,判断条件中也会改变。

4、上面有nums在外面的,不会造成死循环的哦。

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

0

目訫

提问者

2018-09-17

谢谢回答,不过第二条那个是满足条件就会一直循环吧。

0

0 学习 · 36712 问题

查看课程

相似问题

4-6编程练习

回答 2

4-9练习

回答 2

4-9 编程练习

回答 1

4-7 编程练习

回答 1

4-4编程练习

回答 3