diff --git a/analysis-master/analysis-amd64/analysis/equation.ipynb b/analysis-master/analysis-amd64/analysis/equation.ipynb index b8c86e18..58b5c57f 100644 --- a/analysis-master/analysis-amd64/analysis/equation.ipynb +++ b/analysis-master/analysis-amd64/analysis/equation.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 61, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -25,11 +25,31 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ - "def multiply(string):\n", + "def sub(string):\n", + " while(len(re.findall(\"\\d+[.]?\\d*[-]{1,2}\\d+[.]?\\d*\", string)) != 0):\n", + " g = re.search(\"\\d+[.]?\\d*[-]{1,2}\\d+[.]?\\d*\", string).group()\n", + " if(re.search(\"[-]{1,2}\", g).group() == \"-\"):\n", + " r = re.sub(\"[-]{1}\", \"+-\", g, 1)\n", + " string = re.sub(g, r, string, 1)\n", + " elif(re.search(\"[-]{1,2}\", g).group() == \"--\"):\n", + " r = re.sub(\"[-]{2}\", \"+\", g, 1)\n", + " string = re.sub(g, r, string, 1)\n", + " else:\n", + " pass\n", + " return string" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "def mul(string):\n", " while(len(re.findall(\"[*]{1}[-]?\", string)) != 0):\n", " string = re.sub(\"[-]?\\d+[.]?\\d*[*]{1}[-]?\\d+[.]?\\d*\", str(reduce((lambda x, y: x * y), [Decimal(i) for i in re.split(\"[*]{1}\", re.search(\"[-]?\\d+[.]?\\d*[*]{1}[-]?\\d+[.]?\\d*\", string).group())])), string, 1)\n", " return string" @@ -37,21 +57,48 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 32, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", - "text": "-29\n" + "text": "-30\n" } ], "source": [ - "string = \"-3+4+-5*6\"\n", - "string = multiply(string)\n", - "string = add(string)\n", - "print(string)" + "def eval(string):\n", + " string = mul(string)\n", + " string = sub(string)\n", + " string = add(string)\n", + " return string" ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": "-22" + }, + "metadata": {}, + "execution_count": 34 + } + ], + "source": [ + "string = \"2--3+4-5*6-1\"\n", + "eval(string)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {