Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions solutions/python/little-sisters-essay/2/string_methods.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
"""Functions to help edit essay homework using string manipulation."""


def capitalize_title(title: str) -> str:
"""
Convert the first letter of each word in the title to uppercase if needed.

:param title: str - title string that needs title casing.
:return: str - title string in title case (first letters capitalized).
"""

return title.title()


def check_sentence_ending(sentence: str) -> bool:
"""
Check the ending of the sentence to verify that a period is present.

:param sentence: str - a sentence to check.
:return: bool - return True if punctuated correctly with period,
False otherwise.
"""

return sentence[-1] in ".!?"


def clean_up_spacing(sentence: str) -> str:
"""
Verify that there isn't any whitespace at the start and end of the
sentence.

:param sentence: str - a sentence to clean of leading and trailing
space characters.
:return: str - a sentence that has been cleaned of leading and
trailing space characters.
"""

return sentence.strip()


def replace_word_choice(sentence: str, old_word: str, new_word: str) -> str:
"""
Replace a word in the provided sentence with a new one.

:param sentence: str - a sentence to replace words in.
:param old_word: str - word to replace.
:param new_word: str - replacement word.
:return: str - input sentence with new words in place of old words.
"""

return sentence.replace(old_word, new_word)