本需求是关于运用随机来数训练分数计算的能力,使用vue前端产生一个数组然后保存到excel里。

本文重点讲分数的随机数生成。

getRandom () {
    //获取一个0-100的整数
    return Math.ceil(Math.random() * 99) + 1
}
getChild (n) {
      //获取一个n-100n的不被n整除的数
      let zheng = Math.ceil(Math.random() * this.max)
      let first = zheng * n
      let xiao = Math.random().toFixed(2)
      let second = Math.ceil(xiao * n)
      let num = first + second
      let real = zheng + (xiao - 0)
      console.log('zheng ' + zheng)
      console.log('xiao ' + xiao)
      if((num / n) % 1 === 0) {
        return this.getChild(n)
      } else {
        console.log(num + ' ' + n +' ' + real)
        return [num,real]
      }
    }
getNumber () {
      let mu = this.getRandom()
      let obj = this.getChild(mu)
      let child = obj[0]
      return [child + '/' + mu, obj[1]]
    }
getArithmetic (op) {
      let num1 = this.getNumber()
      let num2 = this.getNumber()
      if(op === ' - ') {
        if (num1[1] < num2[1]) {
          console.log('小于')
          this.getArithmetic(op)
        }
      }
      return num1[0] + op + num2[0] + ' = '
    }

如果用小数转为分数势必十分麻烦,所以这边用的是随机生成分母然后用整数部分乘分母加上小数部分得到分子的替代方法。

就花了一会写的比较草率,好了就酱。

Logo

前往低代码交流专区

更多推荐