请问这样写可以的吗?

请问这样写可以的吗?

<!DOCTYPE html>

<html>


<head lang="en">

    <meta charset="UTF-8">

    <title>练习</title>

</head>


<body>

    <script type="text/javascript">

        var sex=prompt('请输入性别');

        var height = Number(prompt('请输入身高'));

        var weight = Number(prompt('请输入体重'));

        var weightm=(weight-80)*0.7;

        var weightw = (weight - 70) * 0.6;


        if (sex=='男') {

            if (weight>weightm*0.05 && weight<weightm*1.05) {

                alert('体重正常');

            }else if (weight < weightm * 0.05) {

                alert('太瘦了,要多补充营养哦');

            }else{

                alert('该锻炼身体减肥了哦');

            }

        }else if (weight > weightw * 0.05 && weight < weightw * 1.05) {

            alert('体重正常');

        } else if (weight < weightw * 0.05) {

            alert('太瘦了,要多补充营养哦');

        } else {

            alert('该锻炼身体减肥了哦');

        }

    </script>

</body>


</html>


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

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

3回答
好帮手慕慕子 2021-03-29 18:59:24

同学你好,新粘贴的代码中,weightm变量名重复声明,而后面代码中使用的weightw没有声明,使用时会报错,建议修改:

http://img1.sycdn.imooc.com//climg/6061b30209dbee1008540711.jpg

祝学习愉快~

  • 提问者 神知 #1

    老师我又写了一遍还是写错

    <script>

            var sex=prompt('请输入您的性别');

            var height=Number(prompt('请输入您的身高'));

            var weight=Number(prompt('请输入您的体重'));

            /*男性标准体重*/

            var weightm=(height-80)*0.7;

            /*女性标准体重*/

            var weightw=(height-70)*0.6;


            if(sex=="男"){

                if(weightm*0.95<=weight<=weightm*1.05){

                    alert('体重正常');

                }else if(weightm*0.95>weight){

                    alert('太瘦了,要多补充营养哦');

                }else{

                    alert('该锻炼身体减肥了哦');

                }  

            }else if(sex=="女"){

                if(weightw*0.95<=weight<=weightw*1.05){

                    alert('体重正常');

                }else if(weightw*0.95>weight){

                    alert('太瘦了,要多补充营养哦');

                }else{

                    alert('该锻炼身体减肥了哦');

                }

            }

        </script>


    2021-11-01 21:13:10
  • 好帮手慕慕子 回复 提问者 神知 #2

    同学你好,因为代码中if条件weightm * 0.95 <= weight <= weightm * 1.05这种写法,js不支持,不符合语法,导致无法实现效果。

    建议:使用与操作符实现控制区间范围,示例:

    https://img1.sycdn.imooc.com//climg/6180a0e60936595809010761.jpg

    祝学习愉快~

    2021-11-02 10:43:00
好帮手慕星星 2021-03-18 16:17:26

同学你好,性别如果只判断男女的话,else不加if也可以,因为if判断的是男,那么else就是女。

如果加上的话,可以这样修改:
http://img1.sycdn.imooc.com//climg/60530c91090df54606580354.jpg

祝学习愉快!

  • 提问者 神知 #1

    老师我这回写的对吗?

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title></head><body>    <script>        var sex=prompt('输入性别');        weightm=(height-80)*0.7;        weightm=(height-70)*0.6;        var height=prompt('输入身高');        var weight=prompt('输入体重');
            if (sex=='男') {            if (weight>=weightm*0.95 && weight<=weightm*1.05) {                alert('体重正常');            }else if (weight<weightm*0.95) {                alert('太瘦了,要多补充营养哦');            }else{                alert('该锻炼身体减肥了哦');            }        }else if (sex=='女') {            if (weight>=weightw*0.95 && weight<=weightw*1.05) {                alert('体重正常');            }else if (weight<weightw*0.95) {                alert('太瘦了,要多补充营养哦');            }else{                alert('该锻炼身体减肥了哦');            }        }    </script></body></html>

    2021-03-29 18:47:21
好帮手慕星星 2021-03-18 10:24:38

同学你好,代码问题如下:

1、标准体重计算公式中是用身高去计算,而不是体重。修改

http://img1.sycdn.imooc.com//climg/6052b931093bff9b05840195.jpg

2、体重下浮5%,应该乘以0.95,不是0.05,记得加上等号的条件

3、if条件判断性别为男,就需要else来判断性别为女,而不是直接判断女生体重的浮动

如下修改:

http://img1.sycdn.imooc.com//climg/6052b9db09f7f08308800612.jpg

祝学习愉快!

  • 提问者 神知 #1

    判断女性不应该加if是吗,会成为一个新的判断条件?

    2021-03-18 11:53:20
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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