【娱乐项目】竖式算术器

[复制链接]
发表于 2025-12-18 08:08:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Demo先容

   一个加减法随机数天生器,它可以大概天生随机的加减法标题,而且支持用户输入答案。体系会根据用户输入的答案判定是否准确,统计准确和错误的次数,并表现汗青记载和错题记载。该工具适适用于数学练习,尤其恰当练习根本的加减法运算。
  JavaScript 代码

      
  • 变量初始化
   
       
  • correctCount 和 wrongCount:用于存储用户答对和答错的次数   
  • randomNum:控制天生的随机数的范围,默认是 20   
  • previousEquations:存储用户复兴的全部算式   
  • correctEquations 和 wrongEquations:分别记载答对和答错的算式   
  • showWrongRecords 控制是否表现错题记载  
     
       
  • **编辑功能:**点击“修改”按钮可以编辑 randomNum,即加减法标题标最大值范围。修改后,点击“确定”会禁用输入框   
  • **计时功能:**通过 setInterval 每秒更新一次计时器,表现自页面加载以来的耗时  
   
       
  • 随机数天生和算式天生:  
  
       
  • generateRandomNumber():天生 1 到 randomNum 之间的随机整数   
  • generateRandomOperation():以 50% 概率天生“加法”或“减法”   
  • generateRandomEquation():根据天生的两个随机数和运算符构建一个加减法算式。假如是加法且结果大于 randomNum,则改为减法;假如是减法且第一个数小于第二个数,则交换两个数的次序。  
   
       
  • 答案判定:  
  
       
  • checkAnswer():监听用户输入,按回车键后查抄用户输入的答案是否准确。若准确,增长准确次数并将算式添加到准确记载中;若错误,增长错误次数并将算式添加到错误记载中   
  • eval() 用于盘算天生的算式的结果  
   
       
  • 更新和表现标题:  
  
       
  • 每次用户复兴准确后,调用 generateNewEquation() 函数天生一个新的随机算式   
  • 表现标题:equation 表现算式,equation2 表现带等号的算式,showRes 表现算式的树形结构(即数字在上下排布的样式,资助用户明白运算次序)  
   
       
  • 汗青记载:  
  
       
  • 使用 previousEquations 存储全部的算式和对应的答案,汗青记载可以按次序表现   
  • 通过点击“切换记载”按钮,可以切换检察错题记载(错误的算式)和汗青记载(包罗准确和错误的算式)  
   
       
  • 统计功能:
    页面右侧表现准确复兴次数和错误复兴次数  
   
       
  • 键盘变乱监听:
    使用 document.addEventListener(‘keypress’, checkAnswer) 来监听用户的输入,并在用户按下回车键时举行答案查抄  
  交互流程

   
       
  • 页面加载时,默认天生一个加减法算式,并表现在页面中   
  • 用户在输入框中输入答案并按下回车键  
  
       
  • 假如答案准确,表现“复兴准确”,并天生一个新的算式   
  • 假如答案错误,表现“复兴错误”  
  
       
  • 用户可以通过点击“切换记载”按钮检察汗青记载或错题记载   
  • 用户点击“修改”按钮时,可以修改加减法标题标最大数值(默以为20)   
  • 页面会不绝更新统计信息,表现准确和错误的次数  
  完备代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>加减法随机数生成器</title>
  5.     <style>
  6.         /* 页面样式设置 */
  7.         body {
  8.      
  9.      
  10.             margin: 0;
  11.         }
  12.         .calculate {
  13.      
  14.      
  15.             height: 97vh;
  16.             overflow: scroll;
  17.             text-align: center;
  18.             border: 8px groove #fff;
  19.         }
  20.         html::-webkit-scrollbar,
  21.         .calculate::-webkit-scrollbar {
  22.      
  23.      
  24.             width: 0;
  25.             height: 0;
  26.         }
  27.         .calculate .top {
  28.      
  29.      
  30.             position: relative;
  31.         }
  32.         .calculate .title {
  33.      
  34.      
  35.             height: 40px;
  36.             line-height: 40px;
  37.             font-size: 32px;
  38.             font-weight: bold;
  39.             text-align: center;
  40.         }
  41.         .calculate .title input {
  42.      
  43.      
  44.             width: 50px;
  45.             height: 100%;
  46.             text-align: center;
  47.             font-size: 32px;
  48.             font-weight: bold;
  49.             border: none;
  50.         }
  51.         .calculate .top .btn {
  52.      
  53.      
  54.             position: absolute;
  55.             top: 5px;
  56.             right: 10px;
  57.             display: flex;
  58.             justify-content: space-around;
  59.         }
  60.         .calculate .top .btn div {
  61.      
  62.      
  63.             width: 100px;
  64.             background: #7bcafc;
  65.             color: #fff;
  66.             border-radius: 20px;
  67.             height: 35px;
  68.             line-height: 35px;
  69.             cursor: pointer;
  70.             margin-left: 10px;
  71.         }
  72.         .calculate #container {
  73.      
  74.      
  75.             display: flex;
  76.             justify-content: space-around;
  77.             background: rgb(241, 245, 251);
  78.             height: 80%;
  79.             margin: 0 auto;
  80.             border-radius: 8px;
  81.         }
  82.         .calculate #container .title {
  83.      
  84.      
  85.             background: #fff;
  86.             border-radius: 20px;
  87.             width: 50%;
  88.             margin: 10px auto;
  89.             height: 40px;
  90.             line-height: 40px;
  91.         }
  92.         #timer {
  93.      
  94.      
  95.             width: 100%;
  96.             text-align: center;
  97.             font-size: 20px;
  98.         }
  99.         #equation {
  100.      
  101.      
  102.             font-size: 40px;
  103.             font-weight: bold;
  104.             text-align: center;
  105.             margin-bottom: 20px;
  106.             display: none;
  107.         }
  108.         #equation2 {
  109.      
  110.      
  111.             font-size: 40px;
  112.             font-weight: bold;
  113.             text-align: center;
  114.             margin-bottom: 20px;
  115.             display: none;
  116.         }
  117.         .tree {
  118.      
  119.      
  120.             font-size: 40px;
  121.             font-weight: bold;
  122.         }
  123.         .tree p {
  124.      
  125.      
  126.             line-height: 0
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表