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}")  
 
   32         if part.startswith(
"!"):
 
   38     result = include_set 
if include_set 
else numbers
 
   42     result = {num 
for num 
in result 
if min_value <= num <= max_value}