ch07: example files

This commit is contained in:
Luciano Ramalho
2020-06-11 13:32:05 -03:00
parent 1ad26624f3
commit 42861b64d8
6 changed files with 141 additions and 0 deletions

36
07-1class-func/clip.py Normal file
View File

@@ -0,0 +1,36 @@
"""
>>> clip('banana ', 6)
'banana'
>>> clip('banana ', 7)
'banana'
>>> clip('banana ', 5)
'banana'
>>> clip('banana split', 6)
'banana'
>>> clip('banana split', 7)
'banana'
>>> clip('banana split', 10)
'banana'
>>> clip('banana split', 11)
'banana'
>>> clip('banana split', 12)
'banana split'
"""
# tag::CLIP[]
def clip(text, max_len=80):
"""Return text clipped at the last space before or after max_len
"""
end = None
if len(text) > max_len:
space_before = text.rfind(' ', 0, max_len)
if space_before >= 0:
end = space_before
else:
space_after = text.rfind(' ', max_len)
if space_after >= 0:
end = space_after
if end is None: # no spaces were found
return text.rstrip()
return text[:end].rstrip()
# end::CLIP[]