我希望也许我可以得到一些指导或检查是否有可能做到以下几点:我需要根据用户输入得分。用户输入可以是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;
}
}
感谢您的反馈,
答案 0 :(得分:0)
从sum
到score
的转换由一个简单的公式涵盖:
var score = Math.round(sum * 0.6) - 20;
这可以转换成如下函数:
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;
答案 1 :(得分:0)
如果您的目标是计算最终得分,即使没有循环也可以这样做。 步骤------
计算sum和start之间的差值,比方说x。
将x除以5,比如说y
将y乘以3并将其加到34
现在计算x%5让我们说z
如果z为零,则答案很好
如果z为1-2,则在答案中添加1
如果z在3-4之间加2回答