gpt4 book ai didi

javascript - 如果条件为 false,则继续循环提示

转载 作者:行者123 更新时间:2023-11-28 02:09:02 25 4
gpt4 key购买 nike

我正在制作一个程序,教师输入学生的姓名和与一定数量的作业相对应的成绩(教师指定作业)。

我想让它必须是输入的成绩的数值。因此,我添加了以下代码:

for (var g = 1; g <= assignments; g++) {
var grade = prompt("Please enter the student score for assignment" + g + ".");
if(typeof grade === 'number' && Math.Round(grade) % 1 == 0) {
return true;
}
else{
var grade = prompt("Please enter the student score for assignment" + g + ".");

}

var gradecolumn = document.createElement("td");
var gradetext = document.createTextNode(grade);
gradecolumn.appendChild(gradetext);
rowtwo.appendChild(gradecolumn);
}

我已经把它记下来了...但我想让它继续提示,直到用户输入有效的数据类型。

我遇到的另一个问题是我想将成绩加在一起输入后并计算累积成绩以在特定评分标准上分配字母成绩...我知道我要去通过多条件 if/else if 语句分配字母等级。但我不确定如何在输入成绩后调用成绩,以及如何将它们加在一起,以便我可以将该结果输入到多条件部分。

任何帮助将不胜感激。另外,我应该使用 parseInt 来实现这些吗?

最佳答案

var range = {"A": 100, "B": 75, "C": 50, "D": 30, "E": 20, "F": 10}, score = 0;
for (var g = 1; g <= 3; g++) {
var grade = undefined, letter = '';
while (!grade) {
var grade = prompt("Please enter the student score for assignment" + g + ".");
if (parseInt(grade)) {
// accumulate score
score += parseInt(grade);
}
// grade is not a number
else grade = undefined;
}
}
// check for mark
for (key in range) {
if (score<range[key]) letter = key;
}

if (!letter) alert("score "+score+" is out of range!");
else {
alert(letter); // now you have it
}

演示也更新了:http://jsfiddle.net/vladkras/jNg2m/2/

关于javascript - 如果条件为 false,则继续循环提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com