当前位置: 首页 > news >正文

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>

点赞❤️ 关注 🖲 收藏 ⭐️

 

http://www.lryc.cn/news/402782.html

相关文章:

  • 设计模式使用场景实现示例及优缺点(行为型模式——责任链模式)
  • CSS-1_0 CSS和文档流
  • 小程序图片下载保存方法,图片源文件保存!
  • 新书速览|深入理解Hive:从基础到高阶:视频教学版
  • 钡铼Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP、OPC UA分布式IO系统BL20X系列耦合器
  • Git分支合并以及分支部分合并 提交记录合并
  • IDEA关联数据库
  • 【Leetcode】14. 最长公共前缀
  • 【BUG】已解决:zipfile.BadZipFile: File is not a zip file
  • 小白新手搭建个人网盘
  • NineData全面支持PostgreSQL可视化表结构设计
  • 从系统层面认识Linux及mysql中的多表查询
  • PCB(印制电路板)制造涉及的常规设备
  • 《Windows API每日一练》10.3 公用对话框
  • C++中的引用
  • 【自学安全防御】三、企业双机热备和带宽管理的综合实验
  • 无极与有极电容的区别
  • 入坑树莓派(2)——树莓派4B与手机蓝牙通信
  • RocketMQ单结点安装/Dashboard安装
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第二篇 Linux系统编程篇-第三十四章 进程基础
  • 使用LVS+NGinx+Netty实现数据接入
  • 云手机结合自主ADB命令接口 提升海外营销效率
  • 【计算机视觉前沿研究 热点 顶会】CVPR 2024中与域适应、分布外目标检测相关的论文
  • 首次由国产8K摄像机服务巴黎奥运会8K公用信号
  • idea怎么配置gradle多个版本
  • SpringCloudAlibaba-Seata2.0.0与Nacos2.2.1
  • 【编程语言】C++和C的异同点
  • 【日常记录】【插件】excel.js导出的时候给单元格设置下拉选择、数据校验等
  • 分布式 I/O 系统Modbus TCP 耦合器BL200
  • 人工智能导论-机器学习