Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
[email protected] webmail now available. Want one? Go here.
Cannot use outlook/hotmail/live here to register as they blocking our mail servers. #microsoftdeez
Obey the Epel!

Paste

Pasted as Python by registered user __SMRITI__ ( 1 year ago )
#Convert-input-to-Dictionary

from collections import defaultdict
dic = defaultdict(list)

def isfloat(num):
    try:
        float(num)
        return True
    except ValueError:
        return False

#reading the file
with open('JsimEq.txt') as f:
    lines = [line.rstrip()  for line in f if line!='']


# with open('jsimeq_test.txt') as f:
#     lines = [line.rstrip()  for line in f if line!='']
  
#print(lines)

for line in lines:
    #removing blank lines
    if line!='':
        line= line.replace("exp",'')
        line= line.replace("ln",'') 
        line= line.replace("**",'^') 

        #seperating LHS and RHS
        ls=line.split("=")
        key=ls[0].rstrip()
        s=''
        #print("Key ", ls[0])
        #Processing the RHS
        for i in ls[1]:
            #Replace all Arithematical Symbols with '@'
            if i in "+-/*^":
                s+='@'
                continue
            # remove the Parenthesis
            if i not in " ([])":
                s+=i
        #print(s)

        #sperate all the variables in RHS basis '@'
        sl=s.split("@")
        #print(sl)

        #Removing empty strings any constant present in the list
        val= list(set([i for i in sl if not isfloat(i) and i!='' ]))
        #print(val)

        # check if the given LHS is already present in the dictionary

        if len(dic[key])>0 and dic[key][-1]=='':
            dic[key][-1]=val
        else:
            for i in val:
                dic[key].append(i)


print(dic)
#print("length of dict ",len(dic))

 

Revise this Paste

Parent: 123892
Children: 123894
Your Name: Code Language: