# transform.py # ------------ # By MWC Contributors # The functions in this module transform data. # None of them are finished; this is your job! def maximum(data): "Returns the largest number in data" greatest=None for number in data: if greatest is None: greatest=number if number>greatest: greatest=number return greatest def minimum(data): "Returns the smallest number in data" lowest=None for number in data: if lowest is None: lowest=number if numbergreatest: greatest=number lowest=None for number in data: if lowest is None: lowest=number if numberhigh: return high else: return value def ratio(value, start, end): """Returns a number from 0.0 to 1.0, representing how far along value is from start to end. The return value is clamped to [0, 1], so even if value is lower than start, the return value will not be lower than 0.0. """ r=(value-start)/(end-start) return clamp(r, 0, 1) def scale(value, domain_min, domain_max, range_min, range_max): "Given a value within a domain, returns the scaled equivalent within range." r=(value-domain_min)/(domain_max-domain_min) return range_min+r*(range_max-range_min) def get_x_values(points): "Returns the first value for each point in points." return [x for [x, y] in points] def get_y_values(points): "Returns the second value for each point in points." return [y for [x, y] in points]