code: def mass_from_composition(composition):
      
      mass = 0.0
      for k, v in composition.items():
          if k == 0:  # electron
              mass -= v*5.489e-4
          else:
              mass += v*relative_atomic_masses[k-1]
      return mass
docs: Calculates molecular mass from atomic weights
  
      Parameters
      ----------
      composition: dict
          Dictionary mapping int (atomic number) to int (coefficient)
  
      Returns
      -------
      float
          molecular weight in atomic mass units
  
  
      Notes
      -----
      Atomic number 0 denotes charge or "net electron defficiency"
  
      Examples
      --------
      >>> '%.2f' % mass_from_composition({0: -1, 1: 1, 8: 1})
      '17.01'