测试随机数生成概率得到的经验

247 阅读2分钟
开始

初学前端时,我脑中总会蹦出许多想法,并且我会试着用前端所学到的知识将其实现。测试随机数生成的概率就是其中之一。但由于那时我经验不足,这个现在我觉得很简单的功能反倒让我苦思冥想了良久。先献丑放上我第一次写的js

        var a = 0;
        var b = 0;
        var c = 0;
        var d = 0;

        for (var i = 0; i = 10; i++) {
            var tone = Math.floor(2 * Math.random()) + 1;
            if (tone = 1) {
                a++;
            }
            else {
                b++
            }
        }


        for (var j = 0; j < 10; j++) {
            var ttwo = parseInt(Math.random() * 2 + 1)
            if (ttwo = 1) {
                c++;
            } else {
                d++;
            }
        }

        console.log(a);
        console.log(b);
        console.log(c);
        console.log(d);

然后我运行,因为一些很浅显的错误,运行失败。

Snipaste_2022-03-11_16-52-34.jpg

Snipaste_2022-03-11_16-52-26.jpg

很多毛病,现在我自己看我都觉得自己那个时候真的菜的一匹。变量命名不规范循环条件没有累加代码冗杂……很不应该,但又应该。

改进

当时我很久都没有想出来,果断选择咨询前辈,高人指点一下子就解决了我的问题,但我不知道为什么,当时只是一知半解,也没有深究。近日回顾一下自己学习前端的进度,才想起这个“遗憾”,然后改了一下。

        var One = 0;
        var Zero = 0;

        for (var i = 1; i <= 500; i++) {
            var randomNum = Math.floor(Math.random() * 2);
            if (randomNum == 1) {
                One++;
            } else {
                Zero++;
            }
        }

        console.log('1的次数:' + One);
        console.log('0的次数:' + Zero);

Snipaste_2022-03-11_16-59-51.jpg

其实还是有些小问题......但问题不大,能正常运行就行

结尾

就是简单的一篇博客,我改进的代码问题依旧有,当然也还可以再改,可我懒。我想分享一下我的经验,小白会遇到很多问题,但不要怂,灵光一闪想实现啥功能就去写,不懂就查,就问,辛辛苦苦写的代码看到它成功运行老快乐了,那些问题你学久学精后再看往往会成小儿科的。对,就分享一下这个经验。