def change_rule_to_math_inteval(rule): rule = rule.replace(' ', '') first_char = rule[0:1] last_char = rule[-1:] mid_str = rule[1:-1] try: upper_value = float(mid_str.split(',')[1]) except: upper_value = float('inf') try: lower_value = float(mid_str.split(',')[0]) except: lower_value = float('-inf') low_closed = True up_closed = True if first_char == '(' or first_char == '(': low_closed = False if last_char == ')' or last_char == ')': up_closed = False intev = Interval(lower_bound=lower_value, upper_bound=upper_value) intev.lower_closed = low_closed intev.upper_closed = up_closed return intev