Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
[email protected] web/email 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__ ( 2 years ago )
#convert_textfile_to_dic

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)


# count = 0
# for key,val in dic.items():
#     count+=len(val)+1
#     print(key," ",val)
# print("length  ",count)

 

Revise this Paste

Children: 123889
Your Name: Code Language: