<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def makeLabel(self, value):
 """Create a label for the specified value. Create a label string containing the value and its units (if any), based on the values of self.step, self.span, and self.unitSystem. """

        value, prefix = format_units(value, self.step,
                                     system=self.unitSystem)
        span, spanPrefix = format_units(self.span, self.step,
                                        system=self.unitSystem)
        if prefix:
            prefix += " "
        if value < 0.1:
            return "%g %s" % (float(value), prefix)
        elif value < 1.0:
            return "%.2f %s" % (float(value), prefix)
        if span > 10 or spanPrefix != prefix:
            if type(value) is float:
                return "%.1f %s" % (value, prefix)
            else:
                return "%d %s" % (int(value), prefix)
        elif span > 3:
            return "%.1f %s" % (float(value), prefix)
        elif span > 0.1:
            return "%.2f %s" % (float(value), prefix)
        else:
            return "%g %s" % (float(value), prefix)