javascript循环获得分数

时间:2017-11-08 17:12:16

标签: javascript loops

我希望也许我可以得到一些指导或检查是否有可能做到以下几点:我需要根据用户输入得分。用户输入可以是90到292 ...分数从34开始并根据输入增加1。我有一张表来参考分数。似乎评分表上有一个模式,这就是我认为循环可能有效的原因。如果不是,我会写近100条if语句......模式是这样的:

sum     &    score
90      =    34
91-92   =    35
93-94   =    36
95      =    37
96-97   =    38
98-99   =    39
100     =    40

对于总和中的每5分,分数增加3 ..我认为循环可能是可行的,但我怎么能抓住两者之间的数字?这是我尝试过的,但我似乎无法找到这个逻辑。

var sum = 125;

var start = 90;
var finish = 292;
var score_start = 34;

for(var i=start; i<=finish; i++){

    if(sum == $start){
        score = score_start;
    }       

}

感谢您的反馈,

2 个答案:

答案 0 :(得分:0)

sumscore的转换由一个简单的公式涵盖:

var score = Math.round(sum * 0.6) - 20;

这可以转换成如下函数:

&#13;
&#13;
var getScore = sum => Math.round(sum * 0.6) - 20;

for (var i = 90; i <= 100; i++) {
  console.log(i + ': ' + getScore(i));
}

console.log(292 + ': ' + getScore(292));
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您的目标是计算最终得分,即使没有循环也可以这样做。 步骤------

计算sum和start之间的差值,比方说x。

将x除以5,比如说y

将y乘以3并将其加到34

现在计算x%5让我们说z

如果z为零,则答案很好

如果z为1-2,则在答案中添加1

如果z在3-4之间加2回答