吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10186|回复: 147
收起左侧

[其他转载] 【加强版】小学数学出题,加减乘除混合运算,支持自定义数字,一键打印

     关闭 [复制链接]
xiaoguyan 发表于 2023-10-11 11:47
本帖最后由 xiaoguyan 于 2023-10-11 16:15 编辑

chuti.jpg 上次一时兴起发布了小学生出题器,很多朋友提出了自己的想法,我也觉得确实有必要。这次完善一下,加强版来了,希望对大家有所帮助。

如果觉得有用,请点赞评分加热心~~后续将持续分享此类使用小工具,谢谢大家!

在线预览:https://uutool.cn/html/   复制下面代码后到该地址预览即可

注意:在线预览不能打印。如需打印,在电脑本地上新建文本文档,粘贴代码后保存,然后把文件后缀改为.html运行,出题点击打印就可以了

有人反馈打不开,把代码中83和84行替换成下面的就可以了:
aa111.jpg

我直接把本地文件打上传了,大家试试看,测试是没问题的。

新增功能:
1、支持加减乘除运算混合多选

2、支持自定义数字运算个数
3、支持自定义出题数量
4、支持一键打印成pdf
5、小学数学没有负数,保证结果不出现负数
6、出题分列展示、新增答案下划线
7、界面美化

[Asm] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="zh">
<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;
    margin: 0;
    padding: 0;
}
  
.header {
    background-color: #4CAF50;
    color: white;
    text-align: center;
    padding: 1em;
}
  
.options {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 1em;
}
  
.questions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 1em;
}
  
.question {
    margin: 0.5em;
    padding: 0.5em;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 45%;
    box-sizing: border-box;
}
  
@media (max-width: 768px) {
    .question {
        width: 100%;
    }
}
  
    </style>
    <title>小学数学出题器</title>
</head>
<body>
    <div class="header">
        <h1>小学数学出题器</h1>
    </div>
    <div class="options">
        <label>
            <input type="checkbox" id="additionCheckbox" checked> 加法
        </label>
        <label>
            <input type="checkbox" id="subtractionCheckbox" checked> 减法
        </label>
        <label>
            <input type="checkbox" id="multiplicationCheckbox" checked> 乘法
        </label>
        <label>
            <input type="checkbox" id="divisionCheckbox" checked> 除法
        </label>
  
        <label for="numDigits">数字个数:</label>
        <input type="number" id="numDigits" value="2" min="1">
  
        <label for="numQuestions">出题数量:</label>
        <input type="number" id="numQuestions" value="10" min="1">
  
        <label for="minNumber">最小数字:</label>
        <input type="number" id="minNumber" value="1" min="1">
  
        <label for="maxNumber">最大数字:</label>
        <input type="number" id="maxNumber" value="10" min="1">
  
        <button>生成题目</button>
        <button>一键打印</button>

    </div>
        <div class="qbox">  
<div class="questions" id="questionsContainer">
        <!-- 题目展示在这里 -->
    </div></div>
    <script>
    function generateQuestions() {
    const addition = document.getElementById('additionCheckbox').checked;
    const subtraction = document.getElementById('subtractionCheckbox').checked;
    const multiplication = document.getElementById('multiplicationCheckbox').checked;
    const division = document.getElementById('divisionCheckbox').checked;
  
    const numDigits = parseInt(document.getElementById('numDigits').value);
    const numQuestions = parseInt(document.getElementById('numQuestions').value);
    const minNumber = parseInt(document.getElementById('minNumber').value);
    const maxNumber = parseInt(document.getElementById('maxNumber').value);
  
    const questionsContainer = document.getElementById('questionsContainer');
    questionsContainer.innerHTML = '';
  
    for (let i = 0; i < numQuestions; i++) {
        const questionElement = document.createElement('div');
        questionElement.className = 'question';
  
        const question = generateQuestion(addition, subtraction, multiplication, division, numDigits, minNumber, maxNumber);
        questionElement.textContent = `题${i + 1}: ${question}=______`;
        questionsContainer.appendChild(questionElement);
    }
}
  
function generateQuestion(addition, subtraction, multiplication, division, numDigits, minNumber, maxNumber) {
    const numbers = [];
    for (let i = 0; i < numDigits; i++) {
        const randomNum = Math.floor(Math.random() * (maxNumber - minNumber + 1)) + minNumber;
        numbers.push(randomNum);
    }
  
    const operators = [];
    if (addition) operators.push('+');
    if (subtraction) operators.push('-');
    if (multiplication) operators.push('*');
    if (division) operators.push('÷');
  
    const operator = operators[Math.floor(Math.random() * operators.length)];
  
    let question = numbers.join(` ${operator} `);
  
    if (operator === '÷') {
        const result = numbers.reduce((a, b) => a / b);
        if (result % 1 !== 0 || result < 0) {
            return generateQuestion(addition, subtraction, multiplication, division, numDigits, minNumber, maxNumber);
        }
    } else if (operator === '-') {
        const result = numbers.reduce((a, b) => a - b);
        if (result < 0) {
            return generateQuestion(addition, subtraction, multiplication, division, numDigits, minNumber, maxNumber);
        }
    }
  
    return question;
}
  
function printQuestions() {
    window.print();
}
  
    </script>
</body></html>

shuxue.zip

1.53 KB, 下载次数: 902, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 25吾爱币 +27 热心值 +21 收起 理由
skylcx + 1 我很赞同!
姐彻底的怒了 + 1 + 1 谢谢@Thanks!
junjia215 + 1 + 1 用心讨论,共获提升!
lyllfeng + 1 + 1 谢谢@Thanks!
hqw1996 + 1 用心讨论,共获提升!
sh19890627 + 2 发给数学老师那个就是传说中的舔狗家长?
kosglimmer + 1 谢谢!非常有用发给小学老师了
固水 + 1 + 1 我很赞同!
capone + 1 谢谢@Thanks!
chashushu + 1 + 1 我很赞同!試用了一下 效果很不錯
zxl1993 + 1 + 1 小孩很开心,我也是
寓言hh + 1 + 1 谢谢@Thanks!
某天大魔王 + 1 + 1 谢谢@Thanks!
132580 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wan456 + 1 用心讨论,共获提升!
fantasyzero + 1 + 1 谢谢@Thanks!
cdwdz + 1 + 1 谢谢@Thanks!
安小可 + 1 + 1 热心回复!
恶意进程 + 2 + 1 我很赞同!
wszjf + 4 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
acjacman + 1 + 1 谢谢@Thanks!
吾爱科学 + 1 + 1 我很赞同!
227220172 + 1 感谢感谢
灵影 + 1 + 1 热心回复!
kof888 + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

collinchen1218 发表于 2023-10-11 21:50
本帖最后由 collinchen1218 于 2023-10-28 12:13 编辑

给个基于edge webview2版本:https://www.123pan.com/s/jUQ9-bP0Wd.html
自己打包的,担心安全自己编译,源码已经发布了,原理与https://www.52pojie.cn/thread-1840585-1-1.html类似
大家需要exe版本可以下载啦
@xiaoguyan 麻烦置顶一下
a97313 发表于 2023-10-11 15:31
https://young.hao.360.com/mathpaper 搞个这样的

免费评分

参与人数 5吾爱币 +3 热心值 +5 收起 理由
yafengliang + 1 + 1 我很赞同!
liudongdong001 + 1 热心回复!
yumen1320 + 1 + 1 谢谢@Thanks!
鱼腩花生 + 1 + 1 谢谢@Thanks!
xjwebs + 1 谢谢@Thanks!

查看全部评分

kof888 发表于 2023-10-11 12:16
太好了,上次楼主发布的版本我家娃就感激不尽,这次更新正好他上二年级了,真是及时雨啊,我先替我家娃感谢楼主更新了,他知道一定很感动的。
acbcbo 发表于 2023-10-11 11:56
谢谢分享,但是我复制进去了没见出来呢
空心 发表于 2023-10-11 11:57
有成品的.exe吗
bachelor66 发表于 2023-10-11 12:12
厉害厉害,楼主居然真的更新了,非常感谢                     
bachelor66 发表于 2023-10-11 12:15
点击生成题目没有反应,麻烦楼主再看看,谢谢!                                         
sweetherr 发表于 2023-10-11 12:19
怎么我这边点生成题目,没有题目出来啊
leetauy 发表于 2023-10-11 12:25
kof888 发表于 2023-10-11 12:16
太好了,上次楼主发布的版本我家娃就感激不尽,这次更新正好他上二年级了,真是及时雨啊,我先替我家娃感谢 ...

你家娃早已哭晕在厕所!
zxinyun 发表于 2023-10-11 12:30
旧的可以正常生成题目,这个加强版生成不出来
asiashen 发表于 2023-10-11 12:31
为啥我写的弄不出来
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表