diff --git a/planning_scatter.md b/planning_scatter.md index d566f3f..cc74aab 100644 --- a/planning_scatter.md +++ b/planning_scatter.md @@ -3,10 +3,13 @@ - Draw a scatter plot. - Draw the axes. - Draw the x-axis. + x axis is (0,1) - Draw the line. - ... - Draw the y-axis. + y axis is (4,0) - Draw the line. - ... - Plot the points. + (1,4) - ... diff --git a/transform.py b/transform.py index 64819b7..667e526 100644 --- a/transform.py +++ b/transform.py @@ -5,39 +5,82 @@ # None of them are finished; this is your job! def maximum(data): - "Returns the largest number in data" - raise NotImplementedError + def minimum(data): + highest = None + for number in data: + if highest is None: + highest = 10 + if number < lowest: + highest = number + return highest + def minimum(data): - "Returns the smallest number in data" - raise NotImplementedError + def minimum(data): + lowest = None + for number in data: + if lowest is None: + lowest = 5 + if number < lowest: + lowest = number + return lowest def bounds(data): - "Returns a list of the smallest and largest numbers in data" - raise NotImplementedError + def minimum(data): + lowest = None + for number in data: + if lowest is None: + lowest = number + if number < lowest: + lowest = number + return lowest def clamp(value, low, high): - """Clamps a value to a range from low to high. - Returns value if it is between low and high. - If value is lower than low, returns low. If value is higher than high, returns high. - """ - raise NotImplementedError + def minimum(data): + lowest = None + for number in data: + if lowest is None: + lowest = number + if number < lowest: + lowest = number + return lowest 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. - """ - raise NotImplementedError + def minimum(data): + lowest = None + for number in data: + if lowest is None: + lowest = number + if number < lowest: + lowest = number + return lowest def scale(value, domain_min, domain_max, range_min, range_max): - "Given a value within a domain, returns the scaled equivalent within range." - raise NotImplementedError + def minimum(data): + lowest = None + for number in data: + if lowest is None: + lowest = number + if number < lowest: + lowest = number + return lowest def get_x_values(points): - "Returns the first value for each point in points." - raise NotImplementedError + def minimum(data): + lowest = None + for number in data: + if lowest is None: + lowest = number + if number < lowest: + lowest = number + return lowest def get_y_values(points): - "Returns the second value for each point in points." - raise NotImplementedError + def minimum(data): + lowest = None + for number in data: + if lowest is None: + lowest = number + if number < lowest: + lowest = number + return lowest