#!/usr/bin/python # TYPE:sciencemath # DESC:Using chemParseCMD.py, finds percent mass of things. from chemParseCMD import * import sys while __name__ == "__main__": print knows = raw_input("Do you know the formula? (y/n) ") if 'y' in knows: seq = parse(raw_input("The formula is: ")) mainmass = seq.get_mass() elementsToParse = input("How many elements you asking for? ") for i in range(0, elementsToParse): element = parse(raw_input("Element #%d: " % (i+1))) elementmass = element.get_mass() percentmass = signif((elementmass / mainmass)*100) print print "Percent: %s" % (percentmass) print "TEX: \\frac{%sg}{%sg} = %s\\%%" % (signif(elementmass), signif(mainmass), percentmass) print elif 'n' in knows: numEls = input("Number of elements in formula: ") print """ Insert each element and form in the format of NAME:PERCENT """ data = [] for i in range(0, numEls): data.append(raw_input("Element %d: " % (i + 1))) print percents, moles, ratios = {}, {}, {} lowest = ['el', 9999] for line in data: line = line.strip() element = line.split(":")[0] percent = float(line.split(":")[1]) percents[element] = percent elementMole = percent / ELEMENTS[element].get_mass() if elementMole < lowest[1]: lowest = [element,elementMole] print "Moles of %s: %s" % (element, str(elementMole)) moles[element] = elementMole print for element, mole in moles.items(): print "Ratio of %s: %s" % ( element, str(mole/lowest[1]) )