Files
mathgenerator/mathgenerator/funcs/algebra/expanding.py
Luke Weiler f2efb3751d import with name not asterisk
* import with name not *, remove top level imports

* Fix linter, remove numpy

* Lint fixes

* Comment worksheet generator temporarily
2022-12-19 01:31:08 -05:00

61 lines
1.4 KiB
Python

from ..__init__ import Generator
import random
def gen_func(range_x1=10,
range_x2=10,
range_a=10,
range_b=10,
format='string'):
x1 = random.randint(-range_x1, range_x1)
x2 = random.randint(-range_x2, range_x2)
a = random.randint(-range_a, range_a)
b = random.randint(-range_b, range_b)
def intParser(z):
if (z == 0):
return ""
if (z > 0):
return "+" + str(z)
if (z < 0):
return "-" + str(abs(z))
c1 = intParser(a * b)
c2 = intParser((a * x2) + (b * x1))
c3 = intParser(x1 * x2)
p1 = intParser(a)
p2 = intParser(x1)
p3 = intParser(b)
p4 = intParser(x2)
if p1 == "+1":
p1 = ""
elif len(p1) > 0 and p1[0] == "+":
p1 = p1[1:]
if p3 == "+1":
p3 = ""
elif p3 == "+":
p3 = p3[1:]
if c1 == "+1":
c1 = ""
elif len(c1) > 0 and c1[0] == "+":
c1 = c1[1:] # Cuts off the plus for readability
if c2 == "+1":
c2 = ""
if format == 'string':
problem = f"({p1}x{p2})({p3}x{p4})"
solution = f"{c1}*x^2{c2}*x{c3}"
return problem, solution
elif format == 'latex':
return "Latex unavailable"
else:
return p1, p2, p3, p4, c1, c2, c3
expanding = Generator(
"Expanding Factored Binomial", 111, gen_func,
["range_x1=10", "range_x2=10", "range_a=10", "range_b=10"])