HTML+JS+CSS计算练习

可填 题目数量 数字范围 计算符号

题目做完后会弹窗提示正确率、用时

效果图     源代码在图片后面 

058b109fbdb342a9becb1604308f257f.jpg

6885b9c369754487b466d779c801ef6f.jpg

8e474bd5b2f0493abd8844dd05e5d09e.jpg

 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数学计算练习</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      background-color: #f2f2f2;
    }
    
    .container {
      max-width: 400px;
      margin: 50px auto;
      background-color: #fff;
      padding: 20px;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }
    
    h2 {
      text-align: center;
      margin-bottom: 20px;
      color: #ff4646;
    }
    
    input, select, button {
      display: block;
      width: 100%;
      margin-bottom: 10px;
      padding: 10px;
      border: none;
      border-radius: 5px;
    }
    
    button {
      background-color: #ff4646;
      color: #fff;
      cursor: pointer;
    }
    
    button:hover {
      background-color: #ff1f1f;
    }
  </style>
</head>
<body>
  <div class="container">
    <h2>数学计算练习</h2>
    <input type="number" id="numOfQuestions" placeholder="输入题目数量">
    <input type="number" id="minNumber" placeholder="输入数字范围最小值">
    <input type="number" id="maxNumber" placeholder="输入数字范围最大值">
    <select id="operation">
      <option value="add">加法</option>
      <option value="subtract">减法</option>
      <option value="multiply">乘法</option>
      <option value="divide">除法</option>
    </select>
    <button onclick="startQuiz()">开始练习</button>
  </div>
  
  <script>
    function startQuiz() {
      var numOfQuestions = document.getElementById('numOfQuestions').value;
      var minNumber = document.getElementById('minNumber').value;
      var maxNumber = document.getElementById('maxNumber').value;
      var operation = document.getElementById('operation').value;
      var correctAnswers = 0;
      var startTime = new Date().getTime();
      
      for (var i = 0; i < numOfQuestions; i++) {
        var num1 = Math.floor(Math.random() * (maxNumber - minNumber + 1)) + parseInt(minNumber);
        var num2 = Math.floor(Math.random() * (maxNumber - minNumber + 1)) + parseInt(minNumber);
        var question, answer;
        
        switch (operation) {
          case 'add':
            question = num1 + ' + ' + num2;
            answer = num1 + num2;
            break;
          case 'subtract':
            question = num1 + ' - ' + num2;
            answer = num1 - num2;
            break;
          case 'multiply':
            question = num1 + ' * ' + num2;
            answer = num1 * num2;
            break;
          case 'divide':
            if (num2 === 0) {
              continue;
            }
            question = num1 + ' ÷ ' + num2;
            answer = num1 / num2;
            break;
        }
        
        var userAnswer = prompt('第' + (i+1) + '题: ' + question + ' = ?');
        
        if (userAnswer && parseFloat(userAnswer) === answer) {
          correctAnswers++;
        }
      }
      
      var endTime = new Date().getTime();
      var totalTime = (endTime - startTime) / 1000;
      var accuracy = (correctAnswers / numOfQuestions) * 100;
      alert('练习结束,正确率:' + accuracy.toFixed(2) + '%,用时:' + totalTime.toFixed(2) + '秒');
    }
  </script>
</body>
</html>

点赞❤️ 关注 🖲 收藏 ⭐️

 

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睿智的海鸥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值