def genExpression2(self, oprPDF): index = maths.weightedRandomIndex(oprPDF) numRange = [(1,9) , (9,19) , (19,35)] numPDF = [0.5, 0.35, 0.15] n1 = round(maths.weightedRandomRange(numPDF, numRange)) opr = self.operators[index] n2 = maths.getSecondOperand(n1, opr, multiplyLimit = 100, numPDF = [0.2, 0.4, 0.3], numRange = numRange) if opr == '+': numPDF = [0.2, 0.4, 0.4] n1 = round(maths.weightedRandomRange(numPDF, numRange)) return [n1, opr, n2]
def genExpression(self, size): ''' generates an expression ''' oprPDF = [0.35, 0.20, 0.30, 0.15] numRange = [(1, 9), (9, 15), (15, 25)] numPDF = [0.5, 0.4, 0.1] n1 = round(maths.weightedRandomRange(numPDF, numRange)) if size == 1: return str(n1) if size > 2: print('Not implemented') # size = 2 if maths.isPrime(n1): opr = self.operators[maths.weightedRandomIndex( [0.4, 0.25, 0.33, 0.02])] else: opr = self.operators[maths.weightedRandomIndex(oprPDF)] n2 = maths.getSecondOperand(n1, opr, multiplyLimit=200, numPDF=numPDF, numRange=numRange) return str(n1) + ' ' + opr + ' ' + str(n2)
def genExpression2(self, oprPDF): index = maths.weightedRandomIndex(oprPDF) numRange = [(1, 9), (9, 19), (19, 35)] numPDF = [0.5, 0.35, 0.15] n1 = round(maths.weightedRandomRange(numPDF, numRange)) opr = self.operators[index] n2 = maths.getSecondOperand(n1, opr, multiplyLimit=100, numPDF=[0.2, 0.4, 0.3], numRange=numRange) if opr == '+': numPDF = [0.2, 0.4, 0.4] n1 = round(maths.weightedRandomRange(numPDF, numRange)) return [n1, opr, n2]
def genExpression(self, size): ''' generates an expression ''' oprPDF = [0.35, 0.20, 0.30, 0.15] numRange = [(1,9) , (9,15) , (15,25)] numPDF = [0.5, 0.4, 0.1] n1 = round(maths.weightedRandomRange(numPDF, numRange)) if size == 1: return str(n1) if size > 2: print('Not implemented') # size = 2 if maths.isPrime(n1): opr = self.operators[ maths.weightedRandomIndex([0.4, 0.25, 0.33, 0.02]) ] else: opr = self.operators[ maths.weightedRandomIndex(oprPDF) ] n2 = maths.getSecondOperand(n1, opr, multiplyLimit = 200, numPDF = numPDF, numRange = numRange) return str(n1) + ' ' + opr + ' ' + str(n2)