Newer
Older
"\\alpha","\\beta","\\gamma","\\varepsilon","\\varphi","\\lambda","\\mu","\\rho","\\theta","\\omega","\\Gamma","\\Delta","\\Omega","\\Lambda","\\Phi","\\Psi","\\delta","\\kappa"
elem1,E=getUnit(E[5:],dep)
elem2,E=getUnit(E,dep)
print(elem1,elem2)
# print('here')
log_,E=getIndepend(E[5:],dep)
elem,E=getElement(E,dep)
elif E[:3]=='\\pi':
res=pi
E=E[3:]
elif E[0]=='e' or E[0]=='E':
res=E
E=E[1:]
elif E[:6]=='\\infty':
res=oo
E=E[6:]
elif E[0]=='i':
res=I
E=E[1:]
elif E[:len(s)-1]==s[1:]:
res=symbols(s,real=True)
E=E[len(s):]
break
elif E[:3]=='\\pi':
res=pi
E=E[3:]
elif E[0]=='e' or E[0]=='E':
res=Ee
E=E[1:]
elif E[:6]=='\\infty':
res=oo
E=E[6:]
elif E[0]=='i':
res=I
elif E[:len(s)-1]==s[1:]:
res=symbols(s,real=True)
E=E[len(s):]
break
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
if E[0]=='{' or E[0]=='('or E[0]=='[':
cnt=0
s=""
for i in E:
if i=='{' or i=='('or E[0]=='[':
cnt+=1
elif i=='}' or i==')' or E[0]==']':
cnt-=1
s+=i
if cnt==0:
return s,E[len(s):]
elif E[0] in "0123456789":
return E[0],E[1:]
elif E[:3]=='\\pi':
return E[:3],E[3:]
elif E[0]=='e' or E[0]=='E':
return E[0],E[1:]
elif E[:6]=='\\infty':
return E[:6],E[6:]
elif E[0]=='i':
return E[0],E[1:]
else:
for s in syms:
if E[:len(s)]==s:
return s,E[len(s):]
return E[0],E[1:]
s=""
for i in E:
if i in basicNumber:
s=s+i
else:
break
if s!='':
elem=s
try:
res=int(elem)
except:
res=float(elem)
E=E[len(elem):]
else:
try:
res=res/elem
except ZeroDivisionError as e:
print(e)
elif E[0]!='+' and E[0]!='-' and E[0]!='}' and E[0]!=')' and E[0]!=']':
print('Trans',E,type(E))
if type(E)==str:
E='{'+E+'}'
else:
E='{'+str(E)+'}'
for i in range(len(E)):
if E[i]=='=':
return Trans('('+E[:i]+')-('+E[i+1:]+')')