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

数理化随机出题系统HTML源码,适配教育场景,支持自定义题库与难度分级

️ 系统核心功能多学科覆盖支持数学、物理、化学三个学科的题目随机生成难度分级配置可自定义简单、中等、困难三个难度级别的题目占比题库自定义支持手动添加不同学科、不同难度的题目内容一键生成试卷点击即可随机生成指定数量的试卷题目适配多种设备采用响应式布局在电脑、平板、手机上都能正常使用 完整HTML源码Html复制!DOCTYPE html html langzh-CN head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title数理化随机出题系统/title style * { margin: 0; padding: 0; box-sizing: border-box; font-family: Microsoft YaHei, sans-serif; } body { background-color: #f5f7fa; padding: 20px; } .container { max-width: 1200px; margin: 0 auto; background-color: white; border-radius: 8px; box-shadow: 0 2px 15px rgba(0,0,0,0.1); padding: 30px; } .header { text-align: center; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid #eee; } .header h1 { color: #333; margin-bottom: 10px; } .header p { color: #666; } .config-area { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 30px; } .config-item { padding: 20px; border: 1px solid #eee; border-radius: 8px; } .config-item h3 { color: #333; margin-bottom: 15px; font-size: 16px; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; color: #666; font-size: 14px; } .form-group select, .form-group input { width: 100%; padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } .btn-area { text-align: center; margin-bottom: 30px; } .btn { padding: 10px 30px; background-color: #007bff; color: white; border: none; border-radius: 4px; font-size: 16px; cursor: pointer; margin: 0 10px; transition: background-color 0.3s; } .btn:hover { background-color: #0056b3; } .btn-secondary { background-color: #6c757d; } .btn-secondary:hover { background-color: #545b62; } .question-area { padding: 20px; border: 1px solid #eee; border-radius: 8px; min-height: 300px; } .question-item { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #eee; } .question-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .question-title { font-weight: bold; color: #333; margin-bottom: 10px; font-size: 16px; } .question-difficulty { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 12px; color: white; margin-left: 10px; } .difficulty-easy { background-color: #28a745; } .difficulty-medium { background-color: #ffc107; color: #333; } .difficulty-hard { background-color: #dc3545; } .question-content { color: #666; line-height: 1.6; font-size: 14px; } .add-question-area { margin-top: 30px; padding: 20px; border: 2px dashed #ddd; border-radius: 8px; } .add-question-area h3 { color: #333; margin-bottom: 20px; font-size: 16px; } .add-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 15px; } .add-form textarea { grid-column: 1 / -1; height: 100px; padding: 10px; border: 1px solid #ddd; border-radius: 4px; resize: vertical; font-family: Microsoft YaHei, sans-serif; } /style /head body div classcontainer div classheader h1数理化随机出题系统/h1 p自定义题库 · 难度分级 · 一键生成/p /div div classconfig-area div classconfig-item h3基础设置/h3 div classform-group label选择学科/label select idsubject option valueall全部学科/option option valuemath数学/option option valuephysics物理/option option valuechemistry化学/option /select /div div classform-group label题目数量/label input typenumber idquestionCount value10 min1 max50 /div /div div classconfig-item h3难度配置/h3 div classform-group label简单题占比 (%)/label input typenumber ideasyRatio value40 min0 max100 /div div classform-group label中等题占比 (%)/label input typenumber idmediumRatio value40 min0 max100 /div div classform-group label困难题占比 (%)/label input typenumber idhardRatio value20 min0 max100 /div /div /div div classbtn-area button classbtn onclickgenerateQuestions()生成题目/button button classbtn btn-secondary onclickclearQuestions()清空题目/button /div div classquestion-area idquestionArea p styletext-align: center; color: #999;点击上方按钮生成题目/p /div div classadd-question-area h3添加自定义题目/h3 div classadd-form select idaddSubject option valuemath数学/option option valuephysics物理/option option valuechemistry化学/option /select select idaddDifficulty option valueeasy简单/option option valuemedium中等/option option valuehard困难/option /select textarea idaddContent placeholder请输入题目内容.../textarea button classbtn onclickaddQuestion()添加题目/button /div /div /div script // 默认题库 let questionBank { math: { easy: [ 计算2 3 × 4 ?, 求解方程3x 5 14, 一个正方形边长为5cm求其面积, 计算15 ÷ 3 × 2 ?, 求圆的周长半径为3cmπ取3.14 ], medium: [ 求解方程组{2x y 7, x - 2y 1}, 已知直角三角形两条直角边分别为3和4求斜边长度, 计算(a b)² - (a - b)², 求函数y 2x² 3x - 1的顶点坐标, 计算log₂8 log₃9 ], hard: [ 证明等腰三角形两底角相等, 求解不等式组{3x - 2 4, 2x 1 9}, 计算不定积分∫x²e^x dx, 已知等差数列首项为2公差为3求前10项和, 求曲线y x³ - 3x² 2x在点(1,0)处的切线方程 ] }, physics: { easy: [ 声音在空气中的传播速度大约是多少, 牛顿第一定律的内容是什么, 质量为1kg的物体重力是多少(g9.8N/kg), 光在真空中的传播速度是多少, 什么是杠杆的支点 ], medium: [ 一辆汽车以20m/s的速度行驶紧急刹车后加速度为-5m/s²求刹车距离, 已知电阻R110ΩR220Ω串联后接在30V电源上求电路中的电流, 计算质量为2kg的物体从10m高处自由下落落地时的动能是多少(g10m/s²), 凸透镜成像规律中当物距大于2倍焦距时成什么像, 什么是安培定则如何使用 ], hard: [ 推导动能定理的表达式, 分析匀强电场中带电粒子的运动轨迹, 解释楞次定律的内容和应用, 计算在光滑水平面上两个质量分别为m1和m2的小球发生弹性碰撞求碰撞后的速度, 说明热力学第一定律的内容并解释其物理意义 ] }, chemistry: { easy: [ 水的化学式是什么, 氧气的化学符号是什么, 常见的强酸有哪些列举3种, 什么是化学反应, 金属活动性顺序表中排在氢前面的金属有哪些列举3种 ], medium: [ 写出氢气在氧气中燃烧的化学方程式, 解释什么是化合价并举例说明, 计算100g质量分数为20%的NaCl溶液中含有多少克NaCl, 什么是酸碱中和反应举一个例子, 说明化学平衡的特征 ], hard: [ 推导理想气体状态方程PVnRT, 分析原电池的工作原理并举例说明, 解释化学反应速率的影响因素, 计算将10gNaOH溶解在90g水中求所得溶液的质量分数, 说明化学键的类型并分别举例 ] } }; // 生成题目 function generateQuestions() { const subject document.getElementById(subject).value; const questionCount parseInt(document.getElementById(questionCount).value); const easyRatio parseInt(document.getElementById(easyRatio).value); const mediumRatio parseInt(document.getElementById(mediumRatio).value); const hardRatio parseInt(document.getElementById(hardRatio).value); // 验证比例之和是否为100 if (easyRatio mediumRatio hardRatio ! 100) { alert(难度比例之和必须为100%); return; } // 计算各难度题目数量 const easyCount Math.round(questionCount * easyRatio / 100); const mediumCount Math.round(questionCount * mediumRatio / 100); const hardCount questionCount - easyCount - mediumCount; let questions []; // 根据选择的学科获取题目 if (subject all) { // 从所有学科中随机选择 const subjects [math, physics, chemistry]; const totalEasy easyCount * subjects.length; const totalMedium mediumCount * subjects.length; const totalHard hardCount * subjects.length; subjects.forEach(sub { questions questions.concat(getRandomQuestions(sub, easy, Math.round(totalEasy / subjects.length))); questions questions.concat(getRandomQuestions(sub, medium, Math.round(totalMedium / subjects.length))); questions questions.concat(getRandomQuestions(sub, hard, Math.round(totalHard / subjects.length))); }); } else { questions questions.concat(getRandomQuestions(subject, easy, easyCount)); questions questions.concat(getRandomQuestions(subject, medium, mediumCount)); questions questions.concat(getRandomQuestions(subject, hard, hardCount)); } // 打乱题目顺序 questions shuffleArray(questions); // 显示题目 displayQuestions(questions); } // 获取随机题目 function getRandomQuestions(subject, difficulty, count) { const questions questionBank[subject][difficulty]; const shuffled shuffleArray([...questions]); return shuffled.slice(0, count).map(q ({ content: q, difficulty: difficulty, subject: subject })); } // 打乱数组 function shuffleArray(array) { const newArray [...array]; for (let i newArray.length - 1; i 0; i--) { const j Math.floor(Math.random() * (i 1)); [newArray[i], newArray[j]] [newArray[j], newArray[i]]; } return newArray; } // 显示题目 function displayQuestions(questions) { const questionArea document.getElementById(questionArea); if (questions.length 0) { questionArea.innerHTML p styletext-align: center; color: #999;没有可用题目请添加自定义题目/p; return; } let html ; questions.forEach((q, index) { const subjectName { math: 数学, physics: 物理, chemistry: 化学 }[q.subject]; const difficultyClass { easy: difficulty-easy, medium: difficulty-medium, hard: difficulty-hard }[q.difficulty]; const difficultyName { easy: 简单, medium: 中等, hard: 困难 }[q.difficulty]; html div classquestion-item div classquestion-title ${index 1}. ${subjectName} span classquestion-difficulty ${difficultyClass}${difficultyName}/span /div div classquestion-content${q.content}/div /div ; }); questionArea.innerHTML html; } // 清空题目 function clearQuestions() { const questionArea document.getElementById(questionArea); questionArea.innerHTML p styletext-align: center; color: #999;点击上方按钮生成题目/p; } // 添加题目 function addQuestion() { const subject document.getElementById(addSubject).value; const difficulty document.getElementById(addDifficulty).value; const content document.getElementById(addContent).value.trim(); if (!content) { alert(题目内容不能为空); return; } questionBank[subject][difficulty].push(content); alert(题目添加成功); document.getElementById(addContent).value ; } /script /body /html 系统使用说明基础设置选择需要生成题目的学科设置题目数量难度配置调整简单、中等、困难题目的占比三者之和需为100%生成题目点击生成题目按钮系统会根据配置随机生成对应题目自定义题库在页面下方的添加自定义题目区域可以添加自己的题目内容选择对应的学科和难度清空题目点击清空题目按钮可以清除当前生成的所有题目✨ 系统优势纯HTML实现无需后端服务器打开网页即可使用轻量化设计代码简洁加载速度快运行流畅高度自定义支持添加任意数量的自定义题目满足个性化需求响应式布局适配各种屏幕尺寸在手机、平板、电脑上都能完美使用免费开源可自由修改代码适配更多教育场景 扩展建议添加题目答案功能生成题目时可附带参考答案增加题目分类标签如按知识点分类添加试卷导出功能可将生成的题目导出为Word或PDF格式增加答题计时和评分功能实现完整的测试流程添加用户注册登录功能实现题库云端同步

相关文章:

数理化随机出题系统HTML源码,适配教育场景,支持自定义题库与难度分级

🛠️ 系统核心功能多学科覆盖:支持数学、物理、化学三个学科的题目随机生成难度分级配置:可自定义简单、中等、困难三个难度级别的题目占比题库自定义:支持手动添加不同学科、不同难度的题目内容一键生成试卷:点击即可…...

蓝桥杯19725最优分组

import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();double p scanner.nextDouble();double minCost Double.MAX_VAL…...

蓝桥杯19723分布式队列

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner innew Scanner(System.in);int nin.nextInt();int l[]new int[n];//记录每行的长度while (in.hasNext()){String sin.next();if(s.equals("add")){int xin.nextInt();…...

PanSearch网盘影视资源搜索聚合工具源码解析:集成多引擎搜索技术,畅享跨平台资源检索

在数字化信息爆炸的时代,影视资源的获取方式日益多样化,但如何在海量资源中快速定位所需内容,成为用户面临的一大挑战。PanSearch网盘影视资源搜索聚合工具应运而生,它通过集成多引擎搜索技术,支持百度网盘、阿里云盘等…...

BeMusic 3.1.3音乐网站源码:打造个人专属音乐平台的完美选择

在当今数字音乐时代,拥有一个属于自己的音乐网站已成为许多音乐爱好者和开发者的梦想。BeMusic 3.1.3音乐网站源码正是实现这一梦想的理想工具。作为一个功能全面的音乐分享和流媒体平台,BeMusic允许用户在几分钟内创建专业级的音乐网站,无需…...

Cobalt Strike实战指南:从基础配置到高级渗透技巧

1. Cobalt Strike基础入门 第一次接触Cobalt Strike时,我被它强大的功能震撼到了。这款工具不仅能够模拟高级威胁攻击,还能进行红队协作操作,是渗透测试领域的瑞士军刀。记得刚开始搭建环境时,我在Kali和Windows双系统间反复切换&…...

用C++和Winsock从零搭建一个局域网聊天室(附完整代码)

用C和Winsock构建高效局域网聊天室的实战指南 在当今数字化协作环境中,即时通讯工具已成为团队沟通的标配。虽然市面上已有成熟的商业解决方案,但理解底层网络通信原理对于开发者而言至关重要。本文将带你从零开始,用C和Winsock API构建一个…...

TypeScript 快速实战系列:基础入门|TypeScript 核心语法 1 小时吃透(必备基础)

🔥 导读:上一篇我们搞定了TS环境搭建,也搞懂了为什么大模型开发必须学TS。今天这篇,不搞复杂理论,只讲大模型开发中「最常用、最核心」的TS语法——基础类型类型注解,1小时就能吃透,学完就能给大…...

Windows环境下SeaweedFS的快速部署与实战指南

1. 五分钟搞定SeaweedFS Windows安装 第一次听说SeaweedFS时,我也被这个"海草文件系统"的名字逗笑了。但别被名字迷惑,它可是个正经的分布式文件存储系统,特别适合处理海量小文件。我在Windows上部署过好几次,发现比想象…...

OBS屏幕录制全攻略:从零开始轻松上手

1. OBS屏幕录制入门指南 第一次接触OBS的朋友可能会被它复杂的界面吓到,但其实它的核心功能非常简单。我刚开始用OBS时也走了不少弯路,现在就把这些经验分享给大家。OBS Studio(Open Broadcaster Software)是一款开源免费的屏幕录…...

告别杂乱飞线!用Allegro约束管理器高效规划你的单片机板卡布局布线

告别杂乱飞线!用Allegro约束管理器高效规划你的单片机板卡布局布线 在单片机板卡设计中,工程师们常常面临一个共同的痛点:随着元件密度增加和信号速率提升,传统的"先布局后修补"模式会导致后期出现大量飞线交叉、电源噪…...

别再只会apt autoremove了!dpkg报错Sub-process returned error code (1)的5种修复姿势全解析

深度解析dpkg报错Sub-process returned error code (1)的5种专业修复策略 当你正在Ubuntu或Debian系统上安装某个关键软件包时,突然终端弹出一条刺眼的错误信息:"Sub-process /usr/bin/dpkg returned an error code (1)"。这不是普通的警告&am…...

手把手教你用STM32CubeMX和HAL库驱动DW3000:从SPI配置到第一个测距Demo

零基础玩转DW3000:STM32CubeMXHAL库实现厘米级UWB测距全指南 当我们需要在仓库里快速定位某个货架上的商品,或是让扫地机器人精准识别家具位置时,传统GPS和蓝牙方案的精度往往捉襟见肘。这正是UWB(超宽带)技术大显身手…...

**基于Python与BCI接口的脑机交互编程实践:从信号采集到实时控制的全流程实

基于Python与BCI接口的脑机交互编程实践:从信号采集到实时控制的全流程实现 在人工智能与神经科学融合加速发展的今天,脑机接口(Brain-Computer Interface, BCI) 正逐渐从实验室走向实用化场景。本文将带你深入一个完整的 Python驱…...

**发散创新:基于Python的本体推理与知识表示实战解析**在人工智能和语义网技术飞速发展的今天,**知识表

发散创新:基于Python的本体推理与知识表示实战解析 在人工智能和语义网技术飞速发展的今天,知识表示(Knowledge Representation) 已成为构建智能系统的底层核心能力之一。它不仅决定了系统对现实世界的理解深度,还直接…...

07_Neo4j知识体系之向量搜索与GraphRAG实战

07_Neo4j知识体系之向量搜索与GraphRAG实战 体系 AI 增强层:向量索引、相似度搜索、GraphRAG 架构、LLM 集成、知识图谱增强问答关联能力:与企业搜索、智能问答、多跳推理、知识组织、Agent 系统密切相关适用对象:AI 应用架构师、RAG 工程师、…...

08_Neo4j知识体系之企业级特性与高可用架构

08_Neo4j知识体系之企业级特性与高可用架构 体系 企业特性层:集群与高可用、安全与合规、备份恢复、监控运维、Neo4j Ops Manager关联能力:与关键业务系统、金融级稳定性、多环境治理、权限审计、灾备体系密切相关适用对象:企业架构师、DBA、…...

06_Neo4j知识体系之AuraDB云服务与部署实战

06_Neo4j知识体系之AuraDB云服务与部署实战 体系 云服务层:AuraDB 完全托管、版本层级、定价模式、AWS/Azure/GCP 集成、弹性扩展、高可用、快速开始关联能力:与企业上云、GraphRAG 交付、低运维团队部署、全球可用区建设密切相关适用对象:云…...

深度解析:Agent 如何处理“开放性目标”与“约束性规则”的冲突?

深度解析:Agent 如何处理“开放性目标”与“约束性规则”的冲突? 1. 引言 (Introduction) 1.1 核心概念锚定与常见误解破冰 在正式展开冲突处理的技术细节之前,我们必须先锚定文章涉及的三个最核心、最容易被模糊定义/误解的AI Agent领域概念…...

Flutter Provider:简单而强大的状态管理

Flutter Provider:简单而强大的状态管理告别 setState 的混乱,拥抱 Provider 的简洁优雅。一、Provider 的核心价值 作为一名追求代码如散文般优雅的 UI 匠人,我对状态管理工具有着严格的要求。Provider 不仅解决了 Flutter 中的状态共享问题…...

AI Agent在智能制造中的应用:多智能体协同生产调度案例

AI Agent在智能制造中的应用:多智能体协同生产调度案例 摘要/引言 各位读者好,我是深耕工业软件与分布式AI系统近十年的技术博主,也是前西门子离散制造数字化转型中心的架构师。今天这篇文章,我们要聊的绝对是当前智能制造领域最…...

CSS 嵌套:编写更优雅的样式代码

CSS 嵌套:编写更优雅的样式代码让 CSS 结构更清晰,层次更分明,代码更易维护。一、CSS 嵌套的优势 作为一名把代码当散文写的 UI 匠人,我对代码的可读性和结构有着近乎偏执的要求。CSS 嵌套让我们能够按照 HTML 的层次结构来组织样…...

Flutter 微交互:细节中的用户体验魔法

Flutter 微交互:细节中的用户体验魔法小细节,大体验。微交互让应用更有生命力。一、什么是微交互? 作为一名追求像素级还原的 UI 匠人,我深知微交互的力量。它们是用户与界面之间的微小对话——一个按钮的按下反馈、一个列表项的滑…...

09_Neo4j知识体系之行业应用与最佳实践

09_Neo4j知识体系之行业应用与最佳实践 体系 行业应用层:金融反欺诈、智能推荐、社交网络分析、知识图谱构建、供应链优化关联能力:与图建模、路径分析、图算法、GraphRAG、实时决策和企业数据治理密切相关适用对象:解决方案架构师、行业数字…...

《WebPages 邮局》

《WebPages 邮局》 引言 在互联网的海洋中,WebPages 邮局犹如一座灯塔,为无数用户指引着信息传递的航向。本文将深入探讨 WebPages 邮局的功能、优势以及其在信息时代的重要地位。 WebPages 邮局的功能 1. 邮件收发 WebPages 邮局的核心功能是邮件收发。用户可以通过 We…...

Kubernetes 部署 Spring Boot 应用:从入门到生产实践

Kubernetes 部署 Spring Boot 应用:从入门到生产实践 别叫我大神,叫我 Alex 就好。 一、引言 大家好,我是 Alex。Kubernetes 已经成为云原生应用部署的事实标准,而 Spring Boot 是 Java 微服务开发的首选框架。今天,我…...

Python数据类配置模式详解

在现代Python应用开发中,配置管理是一个关键环节。今天我们来深入分析一个优雅的配置管理实现,它展示了如何将环境变量配置与数据类完美结合。 核心概念 让我们先看一个典型的配置类实现: from __future__ import annotations import os from…...

深入理解Python @dataclass:从基础到高级用法

Python 3.7引入了dataclass装饰器,这是一个强大的工具,能够显著减少数据类的样板代码。本文将详细介绍dataclass的各种用法,特别是如何正确处理可变默认值和类型注解。 什么是dataclass dataclass是位于dataclasses模块中的装饰器&#xff0c…...

手把手教你用RFSoC ZU47DR的DAC/ADC:从单音信号到1200MHz宽带调制的避坑实践

手把手教你用RFSoC ZU47DR的DAC/ADC:从单音信号到1200MHz宽带调制的避坑实践 当一块开发板的价格抵得上半辆家用轿车时,每个操作步骤都值得反复推敲。这就是RFSoC ZU47DR给我的第一印象——强大到令人兴奋,复杂到让人却步。作为赛灵思第三代射…...

jEasyUI 显示海量数据

jEasyUI 显示海量数据 引言 随着互联网技术的飞速发展,大数据时代已经到来。在众多前端框架中,jEasyUI以其简洁、易用、功能强大等特点,受到了广大开发者的喜爱。本文将深入探讨jEasyUI在显示海量数据方面的应用,帮助开发者更好地应对大数据挑战。 jEasyUI简介 jEasyUI…...