This script is solving set problems by brute-force. See HOWTO.
Use python3.10 or newer. Download it here.
"python.exe" -m pip install SetSolver1
First import the module:
import SetSolver1
Now you can use the method:
SetSolver1.search(const_dict: dict[str, set[frozenset | int | tuple] | MathSet] | ConstDictType,
result: set[frozenset | int | tuple] | MathSet | ResultType,
not_allowed: list[MODE] = None,
identity: RelationMathSet | None = None,
overflow: int = 30,
range_int: int = 20,
do_print: bool = True) -> ResultWay | None
Where const_dict
is a dictionary for the predefined constants and result
is the wanted solution.
With the method search
you can find probably the shortest way to this solution by the predefined constants
and normal set operations. With this method you will get an ResultWay object back.
import SetSolver1
# Here you set your predefined constants.
# Please make sure that you do not assign a variable letter twice.
# Python dictionaries will otherwise only store the last value and overwrite the previous ones.
const_dict = SetSolver1.SimpleMathSetConstDictType(
{
"A": {frozenset({2, frozenset()}), frozenset({5})}, # string "[[2, []],[5]]" is allowed too
"B": {frozenset(), frozenset({3}), frozenset({5})}
}
)
# Here you set your wanted solution.
result = SetSolver1.SimpleMathSetResultType({frozenset(), frozenset({3}), frozenset({5}), frozenset({frozenset()})})
output = SetSolver1.search(const_dict, result)
More examples are here See German examples explanation here with outputs.
- python3.10 required
-
https://stackoverflow.com/a/30676267 / https://stackoverflow.com/a/35781654
-
Append values to set: https://stackoverflow.com/a/3392370
-
fastest way to sort a set: https://stackoverflow.com/a/13605607