From f02bb52c760be65de04330b32adf428e4ab56b2b Mon Sep 17 00:00:00 2001 From: MarcPartensky Date: Sun, 20 Jan 2019 00:55:27 +0100 Subject: [PATCH] Sending All Back too --- .DS_Store | Bin 0 -> 6148 bytes Solver/Main.py | 3 ++ Solver/Set.pyc | Bin 0 -> 1082 bytes Solver/Solver.py | 91 ++++++++++++++++++++++++++++++++++++++ Solver/Solver.pyc | Bin 0 -> 3789 bytes Solver/class en python.py | 9 ++++ Solver/equation.py | 9 ++++ Solver/equation.pyc | Bin 0 -> 535 bytes Solver/expression.py | 9 ++++ Solver/expression.pyc | Bin 0 -> 642 bytes Solver/set.py | 20 +++++++++ detect_circles.py | 33 ++++++++++++++ 12 files changed, 174 insertions(+) create mode 100644 .DS_Store create mode 100644 Solver/Main.py create mode 100644 Solver/Set.pyc create mode 100644 Solver/Solver.py create mode 100644 Solver/Solver.pyc create mode 100644 Solver/class en python.py create mode 100644 Solver/equation.py create mode 100644 Solver/equation.pyc create mode 100644 Solver/expression.py create mode 100644 Solver/expression.pyc create mode 100644 Solver/set.py create mode 100644 detect_circles.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b52924dc8521f349a627089f9dfcfc2c7b92e46b GIT binary patch literal 6148 zcmZQzU|@7AO)+F(5MW?n;9!8zj35RBCIAV8Fop~hRD=a&9@vajhN7Hw!{Frn+ybcF zV5dNCXJZIv$Y;o5C}Y6xeiZrKd>5CbocttEz=>{;<`DmRz>$H00ZmN`K{W*#Ln@pG zdpwT1Z!`o(Ltr!nMni!35MYET<=}?UqvU7^jE2By2*5)CR6Zy`+V%_%P`Uv^gQOT3 z85qD_07eD|P%|2=j}hDtU;xR1w1Q}mRuB!+%D@O>fz1GGWnhGAWdwIaK>9#k5)cj6 z&cFz^8N>%`XJ7=|%)r11(ayjKwHelVVT5RBV1#IAU$t=rEEhN&aTuCD9TSSO3W?R52!53 z$j{RcPEF3wOHl|)Eyypax#mJfAV26PTs<kNfCMqf#UOWro#ny6z>v-WN<9_Upv2@7Ys^r~%ut~Pa;ZzK5<@KuLk%-S z4GTjy2Sbq*DDblwKqAeI42*?R424n*;f1^m;WbPQFmHh(7M$7=3kp*6Qo!jN;lmP8 zIA!L=C*_x9lz?27Y6zi>z}^NE)bTsW9eg0agHj#?BO4<{9 literal 0 HcmV?d00001 diff --git a/Solver/Solver.py b/Solver/Solver.py new file mode 100644 index 0000000..6b0c0fc --- /dev/null +++ b/Solver/Solver.py @@ -0,0 +1,91 @@ +from set import * +from equation import * +from expression import * + +class Solver: + def __init__(self): + self.solved=False + self.valid_equation=None + self.valid_typeCheck=None + self.comparisons=None + self.unknowns=None + self.resolution=[] + self.loadVocabulary() + + + def __call__(self,input): + self.input=input + self.type=type(self.input) + self.output="" + self.analyse() + self.end() + return self.output + + + def loadVocabulary(self): + self.lower_case_alphabet="abcdefghijklmnopqrstuvwxyz" + self.upper_case_alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ" + self.all_case_alphabet=self.lower_case_alphabet+self.upper_case_alphabet + self.operations="+-*/!%^()" + self.comparisons="=<>~" + self.numbers="0123456789" + self.valid_types=[str] + + def analyse(self): + self.isValidType(self.input) + if not self.valid_typeCheck: + self.output="The type is not valid.\n" + else: + self.isEquation(self.input) + if self.valid_equation: + self.equation=self.input + self.solveEquation(self.equation) + else: + self.output="The input isn't an equation." + + def isValidType(self,input): + if self.type in self.valid_types: + self.valid_typeCheck=True + else: + self.output+="Insert an input of type:\n" + self.output+=str(self.valid_types)+"\n" + self.valid_typeCheck=False + + def isEquation(self,input): + valid_equation=True + comparisons=intersection(input,self.comparisons) + unknowns=intersection(input,self.all_case_alphabet) + operations=intersection(input,self.operations) + if len(comparisons)==0: + valid_equation=False + if len(unknowns)==0: + valid_equation=False + self.valid_equation=valid_equation + + + def solveEquation(self,equation): + self.equation=equation + self.step=0 + self.max_steps=100 + while self.step=`#ln!v%8dv!jQ_wkiyE)%m_k^c?=9GYz)B~ z91IK$ng9R)|F6Nwz`#%fBD6}_7#J9W^K;5li{MTINjQO=6u`j1kjlUi#Rzg(3j;$G z6UccW1~Wqn6UZ4+EKv7Ef$axLfo%pc*g>{}7#tvHgBY9)K@e9YgRB5yCI$uuXOLAc zAQv$()G#o_gKYybm_gQp7%VUbD~!R$kPcDI4$_jv0SX1i6b6Q1u-E)FI6=m-GB7Z> zCFT^Tf<0Lb@?=U03j+g#Uw&R{2_FLkLs?=@W=ec&VQFGXW`14?KU}D!vLMwtBQ-g@ zgqwkZAvr&{Ah9U3I6tqr1Qdv+dD(gS<$1*=Tnr2hMXAO4Ii+CzAR}|~6H~(SlM|Cl za}tXx!Oj8OS)7`arU8m`Fi{Nhw0>xDYEiL%eokgtW@=GEVo^zIUU7D%en3%vdQoC- zv3@{hNk)F2esF4XeqM?~P-;Pbab`(=QKdd4!t@F%!On?~&&khOU$V(PAvhY_|&`*3;F>*0tCPPq)Pl1I@3OEGf!Q3ox za?4_55QhX!3Nt8l;+a9Y4kW??%5NYBD?Qi-+rj-YtVVgZu~MXU@(u}~pUq_Tn8>|l}&lu;P-I6);KNDf>|1#5s(wO_F~0|P@y zMydiREEF<}74q^+6u_aQ$5ku?l>_Gzh0NkS^%8}|JOxTq5-SLl>%e6I%#;#dQ22m~I+z-o#t10wD1mGQIgWu*fRU4t zhY3tF3NyhA9#C=x7d&BTagxo(P$b7t!UPJ~cxHw?6A*(Xiv<)v=1lS6SOIZMSV0n5 z;P^>lVh{(*m4IUflm$WMJ|z4>slzj`IJF2Iw2+X_PXkAX6<0B+#^KTcrQ#rd1_p*8 zSx_wja$HDJX(}R+gFrDA1S;TYUPcAUF)%RbfdY^VoTP;qd6@VaWf;Lh2a0u&x4=PH z4{|F5LoE}i;)WF7SxgMgOboTmNFvN&5f&s77O)5_11JcYK}k1-5!_4&2bEK`ObmGp zU?~l^ya73=C$VfEEI|pOKAG2nr$9 z0XV=x{sSckaDX#1B2|*mI)M?E>6sWR?t?-mixEsRF=R6^6#W6SnHhMXEEa|=NV)~r zt&E`b3Q^7uiW5-T!2t?sXk>E21UZoexnP1^3?<$sEzu}4Fff2y!l0B4YgNfJ3Nwm=AwQ!5BQqmEq8$P9894E{!3(-#CvawDU;yP- zaN7#hNH+k5IZGB3C_R}o#WOJ!I>AMl8Nec-Ry(L*0|g=^28wN=H3*`~sQ@b6GBS%5 z3X1ZRa#C{@ic2zcauo7XQ&Wl+O7azwQWY|D3vyC(Q}aqvQ}l{W2%C^utdNwNnU{{D z5nR1NA`Tu0G_6=bxik=zT|ub<6!M~sLQEQ5pi~7CiI2}q%uS7t2iJ%3@wxdar8%kb z@j;-%CfuRIMXeEP4kOVUW1A{Zj1UCi-h8hNjEU+QXj10AmAZ`sKgF-D6 zl$FB7ATD3a3^KKbi9tMtg+aWAnL#{-l|j4~tl8b8hJhhigN=cK!4GVYZ6?SbFjJ!# zWR<2al(sd1xP}$vxV)6q3a~RvI2afhQVUBHOEUBGz}hlPco-NM(lU#ROX71=bCXhw zN_ZI<7>ZMq^Yc=mA{wC3029To3=9nVp~b01#rpXGE*_HYMMfvGP ziMhr40hJ{g`FZ-mU^5hgQVa5nGfVP|D)nJD>lIX%u!9^{oS&0ek_vKoF~}JVjQosT zjC_n@jI4})8lb>0;Q~3hqM#_XxHvOEF9_s*uuBjG72O0f-6l6br8Fni4ivD(ASZA! F0RSmycBTLT literal 0 HcmV?d00001 diff --git a/Solver/expression.py b/Solver/expression.py new file mode 100644 index 0000000..90d2dca --- /dev/null +++ b/Solver/expression.py @@ -0,0 +1,9 @@ +def countCharacters(expression,character): + r=0 + for i in input: + if i==character: + r+=1 + return count + +def simplifyParenthesis(expression): + return expression diff --git a/Solver/expression.pyc b/Solver/expression.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eb0915731ea679e7901a6aab2b6bcb7b9f47f5ca GIT binary patch literal 642 zcmZSn%**xXwPQ>&0~9baFfceUFfbI0F)%QsFfg<*Fhnshq%eXRj0`DE48a=A3=9m( zObiSREDQ_`AdWLgg9%6jBSS3{Lxnm+2?K*mtUN<4GeZqCLk%NCHWNb;FGCFz$N=+N zCWb;@5DG70gc|3U39>&EWV;5)=V3uS5f6T?rQh14C*>K~ZXP zab|vA2`9)c8Hq)S$t9^pB_RC}GE)O&Aebn2XJBB^4=qkDD%Q`>$t=rEEhN z&aTuCD9TSSO3W?R52!53$j{RcPEF3wOHl|)Eyyp