我的运营商出了什么问题? Javascript
What is wrong with my operators? Javascript
我不知道为什么它不起作用。假设当你的分数在 90 或更高之间等于 A。当你在 80 和 89 之间等于 B 等等...
let nota = prompt("Ingrese su nota: ");
if (nota >= 90){
console.log(nota + " " + "equivale a una A");
}
else if (nota == 80 || nota <= 89){
console.log(nota + " " + "equivale a una B");
}
else if (nota == 70 || nota <= 79){
console.log(nota + " " + "equivale a una C");
}
else if (nota == 60 || nota <= 69){
console.log(nota + " " + "equivale a una D");
}
else{
console.log("Tienes una F");
}
将表达式替换为 nota >= 80 && nota <= 89
等
你的问题是在第二次测试中:
nota == 80 || nota <= 89
每个 89 或更小的值都会通过,因此他们都会得到 B。另请注意,测试 nota == 80
是多余的,因为 80 也 <= 89,因此测试等同于:
nota <= 89
当然可以:
nota >= 80 && nota <= 89
但这比需要的要复杂得多。您可以简化测试,因为 if else 意味着一旦一个测试为真它将停止测试,因此只需使用 >=
和所有测试的较低值:
let nota = prompt("Ingrese su nota: ");
if (nota >= 90){
console.log(nota + " " + "equivale a una A");
} else if (nota >= 80) {
console.log(nota + " " + "equivale a una B");
} else if (nota >= 70) {
console.log(nota + " " + "equivale a una C");
} else if (nota >= 60) {
console.log(nota + " " + "equivale a una D");
} else {
console.log("Tienes una F");
}
测试必须按正确的顺序进行,因此如果值为 90 或更大,则第一个测试已满足,不再测试其他测试。如果值为 82,则第一个测试失败,因此进入下一个测试,下一个测试通过,因此结果为 B,并且不再尝试进一步的测试。
对于其他值依此类推,所以如果值为 55,则所有测试都会失败并进入最终 else.
使用此代码
let nota = prompt("Ingrese su nota: ");
if (nota >= 90){
console.log(nota + " " + "equivale a una A");
}
else if (nota <= 89 && nota >= 80 ){
console.log(nota + " " + "equivale a una B");
}
else if (nota <= 79 && nota >= 70){
console.log(nota + " " + "equivale a una C");
}
else if (nota <= 69 && nota >= 60){
console.log(nota + " " + "equivale a una D");
}
else{
console.log("Tienes una F");
}
我不知道为什么它不起作用。假设当你的分数在 90 或更高之间等于 A。当你在 80 和 89 之间等于 B 等等...
let nota = prompt("Ingrese su nota: ");
if (nota >= 90){
console.log(nota + " " + "equivale a una A");
}
else if (nota == 80 || nota <= 89){
console.log(nota + " " + "equivale a una B");
}
else if (nota == 70 || nota <= 79){
console.log(nota + " " + "equivale a una C");
}
else if (nota == 60 || nota <= 69){
console.log(nota + " " + "equivale a una D");
}
else{
console.log("Tienes una F");
}
将表达式替换为 nota >= 80 && nota <= 89
等
你的问题是在第二次测试中:
nota == 80 || nota <= 89
每个 89 或更小的值都会通过,因此他们都会得到 B。另请注意,测试 nota == 80
是多余的,因为 80 也 <= 89,因此测试等同于:
nota <= 89
当然可以:
nota >= 80 && nota <= 89
但这比需要的要复杂得多。您可以简化测试,因为 if else 意味着一旦一个测试为真它将停止测试,因此只需使用 >=
和所有测试的较低值:
let nota = prompt("Ingrese su nota: ");
if (nota >= 90){
console.log(nota + " " + "equivale a una A");
} else if (nota >= 80) {
console.log(nota + " " + "equivale a una B");
} else if (nota >= 70) {
console.log(nota + " " + "equivale a una C");
} else if (nota >= 60) {
console.log(nota + " " + "equivale a una D");
} else {
console.log("Tienes una F");
}
测试必须按正确的顺序进行,因此如果值为 90 或更大,则第一个测试已满足,不再测试其他测试。如果值为 82,则第一个测试失败,因此进入下一个测试,下一个测试通过,因此结果为 B,并且不再尝试进一步的测试。
对于其他值依此类推,所以如果值为 55,则所有测试都会失败并进入最终 else.
使用此代码
let nota = prompt("Ingrese su nota: ");
if (nota >= 90){
console.log(nota + " " + "equivale a una A");
}
else if (nota <= 89 && nota >= 80 ){
console.log(nota + " " + "equivale a una B");
}
else if (nota <= 79 && nota >= 70){
console.log(nota + " " + "equivale a una C");
}
else if (nota <= 69 && nota >= 60){
console.log(nota + " " + "equivale a una D");
}
else{
console.log("Tienes una F");
}