Ejemplo n.º 1
0
def calcul(eq, var_list):
    try:
        eq = eq.replace(" ", "")
        eq_list = tokenize(eq, var_list)

        E = Parser(eq_list, var_list)
        ans = E.eval()

        return ans

    except Exception as e:
        return e
Ejemplo n.º 2
0
def change_x_to_num(eq, var_list, string):
    try:
        eq = eq.replace(" ", "")
        eq_list = tokenize(eq, var_list)

        variable = []
        value = []
        string = string.replace(" ", "")
        string = string.split(',')

        for n in range(len(string)):
            temp = string[n].split('=')
            if temp[0] not in var_list:
                raise Exception('%s is not in current variable list' % (temp[0]))
            if len(temp) != 2 or not is_digit(temp[1]):
                raise Exception('Wrong input')
            variable.append(temp[0])
            value.append(temp[1])

        for n in range(len(variable)):
            eq_temp = []

            for m in range(len(eq_list)):
                if eq_list[m] == variable[n]:
                    eq_temp.append(float(value[n]))
                else:
                    eq_temp.append(eq_list[m])

            eq_list = eq_temp

        if eq_list[0] == 'sig':
            sig_eq = ''
            for n in range(4, len(eq_list)-6):
                sig_eq += str(eq_list[n])

            ans, _, _ = sigma(eq_list[2], sig_eq, eq_list[-5], eq_list[-3], var_list)

            return ans[0]

        E = Parser(eq_list, var_list)

        ans = E.eval()
        
        return from_list_to_str('', ans)

    except Exception as e:
        return '*Error* ' + str(e)
Ejemplo n.º 3
0
def calcul(eq, var_list):
    try:
        eq = eq.replace(" ", "")
        eq_list = tokenize(eq, var_list)

        if eq_list[0] == 'sig':
            sig_eq = ''
            for n in range(4, len(eq_list)-6):
                sig_eq += str(eq_list[n])

            return sigma(eq_list[2], sig_eq, eq_list[-5], eq_list[-3], var_list)

        else:
            E = Parser(eq_list, var_list)
            ans = E.eval()
            domain, in_domain = E.get_domain()

            return [ans, domain, in_domain]

    except Exception as e:
        return 'Error', e, 0