我正在尝试编写一个代码,以便您可以从百分比等级获得字母等级。评分等级印在代码的顶部。然后,我做了一个按钮,当您单击它时,它会提示suer输入他们的百分比等级。我试图这样做,如果用户输入例如93,代码将告诉他们他们有一个A。我试图对A的所有值100-90,对B的值89-80、79- C表示70,D表示69-60,E表示59-50,F小于50。我有等级刻度的代码,并且启动了该功能的功能,该功能将为用户提供字母等级,但无法弄清楚在if语句中如何具有多个值。
function myFunction() {
var q1 = prompt("Please enter your percentage grade: ");
if (q1 <= 100 && grade > 90) {
alert("You have an A");
}
if (q1 <= 89 && grade > 80) {
alert("You have a B");
}
if (q1 <= 79 && grade > 70) {
alert("You have a C");
}
if (q1 <= 69 && grade > 60) {
alert("You have a D");
}
if (q1 <= 59 && grade > 50) {
alert("You have an E");
}
if (q1 > 50) {
alert("You have an F");
} else {
alert("Broken")
}
}
<html>
<body>
<h1>Grade Scale</h1>
<p>
<table>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
</tr>
<tr>
<td>100-90</td>
<td>89-80</td>
<td>79-70</td>
<td>69-60</td>
<td>59-50</td>
<td>
< 50</td>
</tr>
</table>
</p>
<p2>
<button onclick="myFunction()">Click Here To See Your Conversion!</button>
</p2>
</body>
</html>
答案 0 :(得分:1)
您可以使用if - else
语句来实现。这样可以确保所有if
块只有一个条件匹配-并且每个if
语句也只需要一个条件:
<p>
<button onclick="myFunction()">Click Here To See Your Conversion!</button>
</p>
<script>
function myFunction() {
var grade = prompt("Please enter your percentage grade: ");
if (grade > 90) {
alert("You have an A");
}
else if (grade > 80){
alert("You have a B");
}
else if (grade > 70){
alert("You have a C");
}
else if (grade > 60){
alert("You have a D");
}
else if (grade > 50){
alert("You have an E");
}
else {
alert("You have an F");
}
}
</script>
顺便说一句:请检查您的变量并为所有变量使用相同的名称(我猜q1
和grade
应该相同)。
答案 1 :(得分:0)
主要问题是您的变量未统一命名,因此我将它们全部更改为q1。您在>
条件下的逻辑也有些偏离,因此我更改了它们,以便它们说明正确的范围。请记住,对于像B这样的东西,所有数字都将小于90且大于或等于80。90 > B >= 80
正如其他人提到的那样,<p1>
和<p2>
不是正确的html标签。请改用<p>
。
function myFunction() {
var q1 = prompt("Please enter your percentage grade: ");
if (q1 <= 100 && q1 >= 90) {
alert("You have an A");
}
else if (q1 < 90 && q1 >= 80) {
alert("You have a B");
}
else if (q1 < 80 && q1 >= 70) {
alert("You have a C");
}
else if (q1 < 70 && q1 >= 60) {
alert("You have a D");
}
else if (q1 < 60 && q1 >= 50) {
alert("You have an E");
}
else if (q1 < 50 && q1 >= 0) {
alert("You have an F");
}
else {
alert("Broken")
}
}
<!DOCTYPE html>
<html>
<body>
<h1>
Grade Scale
</h1>
<p>
<table>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
</tr>
<tr>
<td>100-90</td>
<td>89-80</td>
<td>79-70</td>
<td>69-60</td>
<td>59-50</td>
<td>< 50</td>
</tr>
</table>
</p>
<p>
<button onclick="myFunction()">Click Here To See Your Conversion!</button>
</p>
</body>
</html>