Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def iter_exprs(num_tokens=None):
- if num_tokens is None:
- i = 1
- while True:
- yield from iter_exprs(i)
- i += 1
- else:
- if num_tokens == 0:
- return
- elif num_tokens == 1:
- yield "1"
- else:
- if num_tokens >= 2:
- for expr in iter_exprs(num_tokens-1):
- yield expr + "!"
- if num_tokens >= 5:
- for i in range(1, num_tokens-3):
- for left in iter_exprs(i):
- for right in iter_exprs(num_tokens-i-3):
- for operator in ["*", "+"]:
- yield f"({left}{operator}{right})"
- for x in iter_exprs():
- print(x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement