作为一名家长,你是否曾为孩子的数学作业头疼不已?每天都要手动出题,检查答案,费时费力。最近,我借助 DeepSeek 的帮助,开发了一个简单实用的“数学计算题生成器”,彻底解决了这个问题!现在,我将分享我的Ai使用过程,告诉你怎么用它做一个作品并逐渐完善。
我将会展示我的需求说明的提示词和ai回复内容,供您参考,根据这个,您也可以轻松完成一样的功能。
1简要说明需要的功能
提示词编写:
你是一个资深的前端开发工程师,现在需要你帮我写一个网页。网页需要实现以下的功能:1 、点击按钮,生成100以内整数的加减乘除的计算题。 2 在网页上可以在计算题输入内容,点击提交按钮,判断计算题输入的结果是否正确,如果输入结果正确,计算题后面绿色钩号显示,如果错误,叉号显示。 要求网页只有一个html文件,打开后可以直接运行
ai回复
好的,我可以帮助你编写一个简单的 HTML 文件,实现你描述的功能。这个文件将包含 HTML、CSS 和 JavaScript 代码,并且可以直接在浏览器中运行。
以下是完整的代码:
100以内加减乘除计算题
100以内加减乘除计算题
<script>
// 生成随机数
function getRandomNumber(max) {
return Math.floor(Math.random() * max) + 1;
}
// 生成随机运算符
function getRandomOperator() {
const operators = ['+', '-', '*', '/'];
return operators[Math.floor(Math.random() * operators.length)];
}
// 生成计算题
function generateQuestions() {
const questionsContainer = document.getElementById('questions');
questionsContainer.innerHTML = ''; // 清空之前的题目
for (let i = 0; i < 10 i 10 const num1='getRandomNumber(100);' const num2='getRandomNumber(100);' const operator='getRandomOperator();' if operator='== '/')' const result='num1' num2 const question='`${result}' operator num1 createquestionelementquestion result num1 else const question='`${num1}' operator num2 const result='eval(question);' eval createquestionelementquestion result function createquestionelementquestion correctanswer const questionscontainer='document.getElementById('questions');' const questiondiv='document.createElement('div');' questiondiv.classname='question' const questiontext='document.createElement('span');' questiontext.textcontent='question' input input.type='number' questiondiv.appendchildinput const resultspan='document.createElement('span');' resultspan.classname='result' questiondiv.appendchildresultspan questionscontainer.appendchildquestiondiv function checkanswers const questions='document.querySelectorAll('.question');'> {
const input = question.querySelector('input');
const resultSpan = question.querySelector('.result');
const questionText = question.querySelector('span').textContent;
const correctAnswer = eval(questionText.replace('=', '').trim());
if (parseFloat(input.value) === correctAnswer) {
resultSpan.textContent = '';
resultSpan.className = 'result correct';
} else {
resultSpan.textContent = '';
resultSpan.className = 'result incorrect';
}
});
}
</script>
功能说明:
- 生成计算题:
- 点击“生成计算题”按钮,会随机生成 10 道 100 以内的加减乘除计算题。
- 每道题目包含一个输入框,用户可以输入答案。
- 提交答案:
- 点击“提交答案”按钮,会检查用户输入的答案是否正确。
- 如果答案正确,题目后面会显示绿色的钩号();如果错误,会显示红色的叉号()。
- 确保整除:
- 对于除法题目,确保生成的题目能够整除,避免出现小数结果。
使用方法:
- 将上述代码保存为一个 .html 文件(例如 math-quiz.html)。
- 双击打开该文件,即可在浏览器中运行。
示例截图:
- 生成题目后:
- 复制
- 23 + 45 = [输入框] 67 - 12 = [输入框] 8 * 9 = [输入框] 100 / 5 = [输入框]
- 提交答案后:
- 复制
- 23 + 45 = 68 67 - 12 = 55 8 * 9 = 72 100 / 5 = 20
2 功能增加
提示词编写:
现在需要增加一个新的需求,加减乘除的计算可以通过一个下拉框来选择,下拉框有五个选项,分别是加法,减法,乘法,除法和随机。 当下拉框内容是加法时,点击按钮只会生成加法的计算题,减法,乘法,除法以此类推, 当下拉框选择随机时,生成的加减乘除的计算题可以随机出现。 需要增加一个输入框,里面可以输入整数,当点击生成计算题的按钮时,根据输入框的数字生成对应数量的计算题
ai回复
好的,我明白你的需求。我们需要增加一个下拉框来选择运算符类型,并增加一个输入框来指定生成的计算题数量。以下是更新后的代码:
100以内加减乘除计算题
100以内加减乘除计算题
<script>
// 生成随机数
function getRandomNumber(max) {
return Math.floor(Math.random() * max) + 1;
}
// 生成随机运算符
function getRandomOperator() {
const operators = ['+', '-', '*', '/'];
return operators[Math.floor(Math.random() * operators.length)];
}
// 生成计算题
function generateQuestions() {
const questionsContainer = document.getElementById('questions');
questionsContainer.innerHTML = ''; // 清空之前的题目
const operator = document.getElementById('operator').value;
const count = parseInt(document.getElementById('count').value, 10);
for (let i = 0; i < count i const num1='getRandomNumber(100);' const num2='getRandomNumber(100);' let selectedoperator='operator;' if operator='== 'random')' selectedoperator='getRandomOperator();' if selectedoperator='== '/')' const result='num1' num2 const question='`${result}' selectedoperator num1 createquestionelementquestion result num1 else const question='`${num1}' selectedoperator num2 const result='eval(question);' eval createquestionelementquestion result function createquestionelementquestion correctanswer const questionscontainer='document.getElementById('questions');' const questiondiv='document.createElement('div');' questiondiv.classname='question' const questiontext='document.createElement('span');' questiontext.textcontent='question' input input.type='number' questiondiv.appendchildinput const resultspan='document.createElement('span');' resultspan.classname='result' questiondiv.appendchildresultspan questionscontainer.appendchildquestiondiv function checkanswers const questions='document.querySelectorAll('.question');'> {
const input = question.querySelector('input');
const resultSpan = question.querySelector('.result');
const questionText = question.querySelector('span').textContent;
const correctAnswer = eval(questionText.replace('=', '').trim());
if (parseFloat(input.value) === correctAnswer) {
resultSpan.textContent = '';
resultSpan.className = 'result correct';
} else {
resultSpan.textContent = '';
resultSpan.className = 'result incorrect';
}
});
}
</script>
更新内容:
- 下拉框选择运算符:
- 增加了一个
- 根据选择的值,生成对应类型的计算题。
- 输入框指定题目数量:
- 增加了一个 元素,用户可以输入生成的计算题数量(1 到 100 之间的整数)。
- 点击“生成计算题”按钮时,根据输入的数量生成对应数量的题目。
- 随机运算符:
- 如果选择“随机”,则生成的题目会随机包含加减乘除运算。
使用方法:
- 将上述代码保存为一个 .html 文件(例如 math-quiz.html)。
- 双击打开该文件,即可在浏览器中运行。
示例操作:
- 选择“加法”,输入题目数量为 5,点击“生成计算题”按钮,生成 5 道加法题目。
- 选择“随机”,输入题目数量为 10,点击“生成计算题”按钮,生成 10 道随机类型的题目。
- 输入答案后,点击“提交答案”按钮,检查答案并显示结果。
3 功能增加
提示词编写:
增加一个输入框,输入框可以填写数字,当我输入后,点击生成计算题的按钮时,可以生成输入数字以内的计算题,例如:我输入10,只会生成10以内的计算题,我输入10,只会生成100以内的计算题,以此类推。 还需要增加一个下拉框,下拉框名字叫是否小数,有两个下拉选项,是和否,当选择是时,点击生成计算题的按钮时,生成的计算题目可以有小数,选择否时,生成的题目只能有整数。 还要新增一个按钮,名字叫下载,当我点击这个按钮的时候,可以把生成的计算题目下载下来。 对网页的样式增加美化,使页面看起来更美观
ai回复
好的,我理解你的需求。以下是更新后的代码,满足以下功能:
- 新增输入框:用于设置生成计算题的最大数值范围(例如 10 以内、100 以内)。
- 新增下拉框:用于选择是否允许生成小数计算题。
- 新增下载按钮:点击后可以将生成的计算题下载为文本文件。
- 美化页面样式:使用 CSS 对页面进行美化。
以下是完整的代码:
数学计算题生成器
数学计算题生成器
<script>
// 生成随机数
function getRandomNumber(max, allowDecimal) {
if (allowDecimal) {
return parseFloat((Math.random() * max).toFixed(2));
} else {
return Math.floor(Math.random() * max) + 1;
}
}
// 生成随机运算符
function getRandomOperator() {
const operators = ['+', '-', '*', '/'];
return operators[Math.floor(Math.random() * operators.length)];
}
// 生成计算题
function generateQuestions() {
const questionsContainer = document.getElementById('questions');
questionsContainer.innerHTML = ''; // 清空之前的题目
const operator = document.getElementById('operator').value;
const count = parseInt(document.getElementById('count').value, 10);
const maxNumber = parseInt(document.getElementById('maxNumber').value, 10);
const allowDecimal = document.getElementById('decimal').value === 'yes';
for (let i = 0; i < count i const num1='getRandomNumber(maxNumber,' allowdecimal const num2='getRandomNumber(maxNumber,' allowdecimal let selectedoperator='operator;' if operator='== 'random')' selectedoperator='getRandomOperator();' if selectedoperator='== '/')' const result='num1' num2 const question='`${result}' selectedoperator num1 createquestionelementquestion result num1 else const question='`${num1}' selectedoperator num2 const result='eval(question);' eval createquestionelementquestion result function createquestionelementquestion correctanswer const questionscontainer='document.getElementById('questions');' const questiondiv='document.createElement('div');' questiondiv.classname='question' const questiontext='document.createElement('span');' questiontext.textcontent='question' input input.type='number' input.step='any' questiondiv.appendchildinput const resultspan='document.createElement('span');' resultspan.classname='result' questiondiv.appendchildresultspan questionscontainer.appendchildquestiondiv function checkanswers const questions='document.querySelectorAll('.question');'> {
const input = question.querySelector('input');
const resultSpan = question.querySelector('.result');
const questionText = question.querySelector('span').textContent;
const correctAnswer = eval(questionText.replace('=', '').trim());
if (parseFloat(input.value) === correctAnswer) {
resultSpan.textContent = '';
resultSpan.className = 'result correct';
} else {
resultSpan.textContent = '';
resultSpan.className = 'result incorrect';
}
});
}
// 下载题目
function downloadQuestions() {
const questions = document.querySelectorAll('.question');
let content = '';
questions.forEach((question) => {
const questionText = question.querySelector('span').textContent;
content += questionText + '\n';
});
const blob = new Blob([content], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'math_questions.txt';
a.click();
URL.revokeObjectURL(url);
}
</script>
更新内容:
- 新增输入框:
- 用户可以输入最大数值范围(例如 10、100),生成的计算题数值不会超过该范围。
- 新增下拉框:
- 选择“是否小数”,如果选择“是”,生成的计算题可以包含小数;选择“否”,则只生成整数计算题。
- 新增下载按钮:
- 点击“下载题目”按钮,可以将生成的计算题保存为文本文件(math_questions.txt)。
- 美化页面样式:
- 使用 CSS 对页面进行了美化,包括按钮、输入框、下拉框和题目区域的样式优化。
示例操作:
- 在“最大数值”输入框中输入 10,选择“加法”,选择“否”,点击“生成计算题”按钮,生成 10 以内的加法题目。
- 在“最大数值”输入框中输入 100,选择“随机”,选择“是”,点击“生成计算题”按钮,生成 100 以内的随机类型题目(可能包含小数)。
- 点击“下载题目”按钮,将生成的计算题保存为文本文件。
将如上代码复制到文件里面,修改后缀名为html,直接打开就可以看到结果了,不得不说DeepSeek真的牛逼。
最终运行结果显示: