Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import itertools
- def msum(a):
- return [j for i in a for j in i]
- def mprod(a):
- return [msum(i) for i in itertools.product(*a)]
- def mpow(a, b):
- return mprod(mprod([[a], b]))
- ex = [
- 'msum([[[]],[[]]])', # 1 + 1 = 2
- 'msum([[[],[]],[[],[],[]]])', # 2 + 3 = 5
- 'mprod([[[],[]],[[],[],[]]])', # 2 * 3 = 6
- 'mprod([[[],[[]]],[[],[[]]]])', # (1+x)*(1+x) = 1+2x+x^2
- 'mpow([[],[[]]], [[],[],[],[]])', # (1+x)^4 = 1+4x+6x^2+4x^3+x^4
- 'mprod(mprod([[[[],[[]]]], [[],[],[],[]]]))', # same thing -- (1+x)^4
- ]
- def demo(sort=True):
- for i in ex:
- j = eval(i)
- if sort:
- j = sorted(j)
- print(i, '=', j)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement