From f7cf4b952acc9233f16eee9e6cf74afeff6460c4 Mon Sep 17 00:00:00 2001 From: juddin2 Date: Sun, 5 Oct 2025 22:23:45 -0400 Subject: [PATCH] I wrote new codes under the comments. The first few went will for me but when I started to get to the def ratio function everything started getting confusing. When I was stuck I did try to use my notes from CsE 115 which helped me out a little. --- transform.py | 78 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 59 insertions(+), 19 deletions(-) diff --git a/transform.py b/transform.py index 64819b7..3e08c8d 100644 --- a/transform.py +++ b/transform.py @@ -5,39 +5,79 @@ # None of them are finished; this is your job! def maximum(data): - "Returns the largest number in data" - raise NotImplementedError + #Returns the largest number in data + largest= data[0] + for n in data: + if n > largest: + largest = n + return largest + def minimum(data): - "Returns the smallest number in data" - raise NotImplementedError + #Returns the smallest number in data + smallest= data[0] + for n in data: + if n < smallest: + smallest = n + return smallest def bounds(data): - "Returns a list of the smallest and largest numbers in data" - raise NotImplementedError +#Returns a list of the smallest and largest numbers in data + smallest= data[0] + largest= data[0] + for n in data: + if n < smallest: + smallest = n + if n > largest: + largest = n + return [smallest,largest] 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 +# """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.""" +# + if value > high: + return high + elif value < low: + return low + 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 - + r= (value - start) / (end - start) + if start==end: + return 0.0 + if r < 0.0: + return 0.0 + elif r > 1.0: + return 1.0 + else: + return r 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 +# "Given a value within a domain, returns the scaled equivalent within range." + + if domain_min == domain_max: + return range_min + 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." - raise NotImplementedError +# "Returns the first value for each point in points." + x_values=[] + for i in points: + x_values.append(i[0]) + return x_values def get_y_values(points): - "Returns the second value for each point in points." - raise NotImplementedError +# "Returns the second value for each point in points." + y_values = [] + for i in points: + y_values.append(i[1]) + return y_values + +