Additional Exercises
Last updated on 2024-09-03 | Edit this page
A collection of exercises that have been either removed from or not (yet) added to the main lesson.
Both examples exchange the values of left
and
right
:
OUTPUT
R L
In the first case we used a temporary variable temp
to
keep the value of left
before we overwrite it with the
value of right
. In the second case, right
and
left
are packed into a tuple and then unpacked into
left
and right
.
Reverse a String
Knowing that two strings can be concatenated using the +
operator, write a loop that takes a string and produces a new string
with the characters in reverse order, so 'Newton'
becomes
'notweN'
.
Fixing and Testing
From: “Defensive Programming”
Fix range_overlap
. Re-run
test_range_overlap
after each change you make.
PYTHON
def range_overlap(ranges):
'''Return common overlap among a set of [left, right] ranges.'''
if not ranges:
# ranges is None or an empty list
return None
max_left, min_right = ranges[0]
for (left, right) in ranges[1:]:
max_left = max(max_left, left)
min_right = min(min_right, right)
if max_left >= min_right: # no overlap
return None
return (max_left, min_right)