如何让用户在 if 语句中输入多个正确答案



我正在尝试制作一个代码,用户可以在其中输入他们的百分比等级,他们将收到一个字母等级。我在代码顶部打印出比例,然后我有一个按钮,用户可以单击该按钮以启动该功能。我希望代码在用户输入中键入百分比并让 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")
  }
}
var q2 = prompt("Would you like to enter another grade? (Please type Yes or No) ");
if (q2 == Yes) {
  // This is where the loop would go
} else() {
  break
}
}
<!DOCTYPE html>
<html>
<body>
  <h1>
    Grade Scale
  </h1>
  <p1>
    <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>
  </p1>
  <p2>
    <button onclick="myFunction()">Click Here To See Your Conversion!</button>
  </p2>
</body>
</html>

我建议使用else if来确保警报只发生一次,并且只返回所需的字母等级。

  if (q1 >= 90) {
    alert("You have an A");
  }
  else if (q1 >= 80) {
    alert("You have a B");
  }
  else if (q1 >= 70) {
    alert("You have a C");
  }
  else if (q1 >= 60) {
    alert("You have a D");
  }
  else if (q1 >= 50) {
    alert("You have an E");
  }
  else if (q1 < 50) {
    alert("You have an F");
  }
  else {
    alert("Broken")
  }

在顶部验证以捕获无效条目等也是一个好主意。

if (q1 < 0 || q1 > 100) {
  alert("Invalid percentage entered.");
} else if ...

相关内容

  • 没有找到相关文章

最新更新