32 lines
642 B
Python
32 lines
642 B
Python
class Range:
|
|
start: int
|
|
end: int
|
|
|
|
def __init__(self, s: int, e: int):
|
|
self.start = s
|
|
self.end = e
|
|
|
|
def contains(self, key) -> tuple | None:
|
|
start, end = (key.start, key.end)
|
|
|
|
if start > self.end or end <= self.start:
|
|
return None
|
|
|
|
start_value = start if self.start <= start and start <= self.end else self.start
|
|
end_value = end if self.end >= end and end >= self.start else self.end
|
|
|
|
return Range(start_value, end_value)
|
|
|
|
def __str__(self) -> str:
|
|
return f'({self.start}, {self.end})'
|
|
|
|
|
|
|
|
r = Range(1, 5)
|
|
r2 = Range(2, 3)
|
|
|
|
print(r.contains(r2))
|
|
|
|
|
|
|