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.
This commit is contained in:
juddin2
2025-10-05 22:23:45 -04:00
parent f8a665a17e
commit f7cf4b952a

View File

@@ -5,39 +5,79 @@
# None of them are finished; this is your job! # None of them are finished; this is your job!
def maximum(data): def maximum(data):
"Returns the largest number in data" #Returns the largest number in data
raise NotImplementedError largest= data[0]
for n in data:
if n > largest:
largest = n
return largest
def minimum(data): def minimum(data):
"Returns the smallest number in data" #Returns the smallest number in data
raise NotImplementedError smallest= data[0]
for n in data:
if n < smallest:
smallest = n
return smallest
def bounds(data): def bounds(data):
"Returns a list of the smallest and largest numbers in data" #Returns a list of the smallest and largest numbers in data
raise NotImplementedError 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): def clamp(value, low, high):
"""Clamps a value to a range from low to high. # """Clamps a value to a range from low to high.
Returns value if it is between low and 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 is lower than low, returns low. If value is higher than high, returns high."""
""" #
raise NotImplementedError if value > high:
return high
elif value < low:
return low
else:
return value
def ratio(value, start, end): def ratio(value, start, end):
"""Returns a number from 0.0 to 1.0, representing how far along value is from start to 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 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. 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): def scale(value, domain_min, domain_max, range_min, range_max):
"Given a value within a domain, returns the scaled equivalent within range." # "Given a value within a domain, returns the scaled equivalent within range."
raise NotImplementedError
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): def get_x_values(points):
"Returns the first value for each point in points." # "Returns the first value for each point in points."
raise NotImplementedError x_values=[]
for i in points:
x_values.append(i[0])
return x_values
def get_y_values(points): def get_y_values(points):
"Returns the second value for each point in points." # "Returns the second value for each point in points."
raise NotImplementedError y_values = []
for i in points:
y_values.append(i[1])
return y_values