8 if str(expression).isdigit():
10 if min_value <= num <= max_value:
13 raise ValueError(f
"Invalid choise: {expression}. Number out of range [{min_value}-{max_value}].")
16 numbers =
set(
range(min_value, max_value + 1))
21 print(f
"Initial expression: {str(expression)}")
22 if isinstance(expression, tuple)
or isinstance(expression, list):
23 expression =
",".
join(map(str, expression))
25 parts = expression.split(
",")
26 print(f
"Parts after split: {parts}")
31 if part.startswith(
"!"):
37 result = include_set
if include_set
else numbers
41 result = {num
for num
in result
if min_value <= num <= max_value}