def METHOD_NAME(comp):
    """Convert composition by Z into composition by symbol.
    Args:
      comp: a list of strings from the last column of Table 2, e.g.,
        ["1: 0.111898", "8: 0.888102"]
    Returns:
      A list of strings of composition by symbol, e.g.,
        ["H 0.111898", "O 0.888102"]
    Raises:
      MaterialsError: if there was a problem making the conversion.
    """
    comp_sym = []
    if not isinstance(comp, Iterable):
        raise MaterialsError(f"Compound must be an iterable of strings: {comp}")
    for line in comp:
        if not isinstance(line, str):
            raise MaterialsError(f"Line must be a string type: {line} {type(line)}")
        try:
            z, weight = line.split(":")
        except ValueError:
            raise MaterialsError(f"Unable to split compound line: {line}")
        try:
            z = int(z)
        except ValueError:
            raise MaterialsError(f"Unable to convert Z {z} to integer: {line}")
        if z < 1 or z > MAX_Z:
            raise MaterialsError(f"Z {z} out of range [1, {line}]: {MAX_Z}")
        comp_sym.append(element_symbol(z) + " " + weight.strip())
    return comp_sym