From 5959c01c072b711ee5e6d65803e283273f80f858 Mon Sep 17 00:00:00 2001 From: caglazir Date: Mon, 6 Oct 2025 17:51:58 -0400 Subject: [PATCH] I added the code for the various functions Checkpoint 2: It went okay. There were points where I couldn't figure out what was going wrong so I had to look up the commands to make sure I was using them as intended. Personally, coding is a lot of trial and error for me in the learning process. I have to see what the code understands and what it doesn't so I can rewrite it in a way that can be understood. With practice I get used to its "lingo" for example the idententation patterns, repetition, redefinition etc. --- transform.py | 63 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/transform.py b/transform.py index 64819b7..840d10c 100644 --- a/transform.py +++ b/transform.py @@ -5,39 +5,58 @@ # None of them are finished; this is your job! def maximum(data): - "Returns the largest number in data" - raise NotImplementedError + highest = None + for number in data: + if highest is None: + highest = number + if number > highest: + highest = number + return highest + def minimum(data): - "Returns the smallest number in data" - raise NotImplementedError + lowest = None + for number in data: + if lowest is None: + lowest = number + if number < lowest: + lowest = number + return lowest def bounds(data): - "Returns a list of the smallest and largest numbers in data" - raise NotImplementedError + bounds = [minimum(data), maximum(data)] + return bounds +#I don't understand the point of the clamp function at this point. 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 + if value < low: + return low + if value > high: + 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. - """ - raise NotImplementedError + low, high = min(start,end), max(start, end) + clampedval = clamp(value, low, high) + ratio = (clampedval-start)/(end-start) + return ratio + 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 + ratio(value, domain_min, domain_max) + scaled = range_min + (ratio(value, domain_min, domain_max)*(range_max-range_min)) + return scaled def get_x_values(points): - "Returns the first value for each point in points." - raise NotImplementedError + x_values=[] + for point in points: + x_values.append(point[0]) + return x_values def get_y_values(points): - "Returns the second value for each point in points." - raise NotImplementedError + y_values=[] + for point in points: + y_values.append(point[1]) + print(y_values) + return y_values