老师 ,这次算做对了嘛,while为了避免死循环这个地方还是理解不清楚

来源:4-9 编程练习

精慕门2504353

2020-03-09 15:14:46

 var a=(9-1)+1;

    var num=Math.floor(Math.random()*a+1);

   

    

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

    while(newn<num){

    

      alert("您猜小了");

      newn=prompt("请输入您猜的数字")

    }

    while (newn>num){

    alert("您猜大了")

    newn=prompt("请输入您猜的数字")

    }

    alert("恭喜你猜对啦!")//补充代码


写回答

1回答

好帮手慕慕子

2020-03-09

同学你好,如果while里面的条件一直满足,那么,就会出现的死循环。所以我们需要考虑调整进入while循环的条件,防止出现死循环。

老师测试同学代码,效果实现存在一些问题,如果第一次猜的数字猜大了,弹出输入框,继续输入,第二次猜的数字小了,并不会再次弹出输入框,让用户输入继续猜测,而是直接恭喜用户猜对了。

可以在弹出输入框前,使用alert弹出需要猜测的数字,然后按照老师说的测试下,同学就会发现问题。

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

建议修改:改为一个while,调整进入while循环的条件为判断输入的数字与目标数字是否相等,如下所示,可以结合注释理解。

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

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 40143 问题

查看课程