Python please code I have so far: def print_menu(usr_str: str): aamenu_options = ['c', 'w', 'f', 'r', 's', 'q'] print('\nMENU') print('c - Number of non-whitespace characters') print('w - Number of words') print('f - Fix capitalization') print('r - Replace punctuation') print('s - Shorten spaces') print('q - Quit\n') aachoice = input('Choose an option: ').lower() while aachoice not in aamenu_options: print('Invalid choice')
Python please
code I have so far:
def print_menu(usr_str: str):
aamenu_options = ['c', 'w', 'f', 'r', 's', 'q']
print('\nMENU')
print('c - Number of non-whitespace characters')
print('w - Number of words')
print('f - Fix capitalization')
print('r - Replace punctuation')
print('s - Shorten spaces')
print('q - Quit\n')
aachoice = input('Choose an option: ').lower()
while aachoice not in aamenu_options:
print('Invalid choice')
aachoice = input('Choose an option:')
if aachoice == 'c':
print('Number of non-whitespace characters:', get_num_of_non_WS_characters(usr_str))
elif aachoice == 'w':
print('Number of words:', get_num_of_words(usr_str))
elif aachoice == 'f':
usr_str, count = fix_capitalization(usr_str)
print('Number of letters capitalized:', usr_str)
print('Edited text:', count)
elif aachoice == 'r':
usr_str = replace_punctuation(usr_str)
print('Edited text:', usr_str)
elif aachoice == 's':
usr_str = shorten_space(usr_str)
print('Edited text:', usr_str)
return aachoice, usr_str
def get_num_of_non_WS_characters(usr_str:str):
count = 0
for i in usr_str:
if not i.isspace():
count +=1
return count
def get_num_of_words(usr_str: str):
num_words = len(usr_str.split())
return num_words
def fix_capitalization(usr_str):
count = 0
usr_str = list(usr_str)
if usr_str[0].islower():
usr_str[0] = usr_str[0].upper()
count += 1
for i in range(len(usr_str) - 3):
if usr_str[i] == '.' and usr_str[i + 3].islower():
usr_str[i + 3] = usr_str[i + 3].upper()
count += 1
return count, ''.join(usr_str)
def replace_punctuation(usr_str: str, **kwargs):
exclamation_count = 0
semicolon_count = 0
result = ''
for i in usr_str:
if i == '!':
i = '.'
exclamation_count += 1
elif i == ';':
i = ','
semicolon_count += 1
result += i
print('Punctuation replaced', exclamation_count)
print('Exclamation Count:', semicolon_count)
return result
def shorten_space(usr_str:str):
result = ''
for i in range(len(usr_str) - 1):
if not (usr_str[i].isspace() and usr_str[i + 1].isspace()):
result += usr_str[i]
return result
def main():
usr_str = input('Enter a sample text: \n')
print('\nYou entered:', usr_str)
choice = ''
while choice != 'q':
choice, usr_str = print_menu(usr_str)
if __name__ == '__main__':
main()
input given:
we'll continue our quest in space. there will be more shuttle flights and more shuttle crews and, yes; more volunteers, more civilians, more teachers in space. nothing ends here; our hopes and our journeys continue!
error:
my F is not functioning correctly. I am producing 1 fixed capitalization, while the correct answer is three
first photo is my output, and the second photo is the correct output
![7. Implement the fix_capitalization() function. fix_capitalization() has a string parameter and returns an updated string, where lowercase letters at the
beginning of sentences are replaced with uppercase letters. fix_capitalization() also returns the number of letters that have been capitalized. Call
fix_capitalization() in the execute_menu() function, and then output the number of letters capitalized followed by the edited string.
Hint 1: Look up and use Python functions.islower() and .upper() to complete this task.
Hint 2: Create an empty string and use string concatenation to make edits to the string.
Example:
Number of letters capitalized: 3
Edited text: We'll continue our quest in space. There will be more shuttle flights and more shuttle crews and, yes; more volunteers, more civilians, more tea
chers in space. Nothing ends here; our hopes and our journeys continue!](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F1f559ff2-7390-4b86-9602-ab51f205485c%2F571880d4-7d4e-452c-97ca-929b4768c0a6%2Fmjkqq4_processed.png&w=3840&q=75)
![Enter a sample text:
we'll continue our quest in space. there will be more shuttle flights and more
shuttle crews and, yes; more volunteers, more civilians, more teachers in spa
ce. nothing ends here; our hopes and our journeys continue!
You entered: we'll continue our quest in space. there will be more shuttle flig
hts and more shuttle crews and, yes; more volunteers, more civilians, more te
achers in space. nothing ends here; our hopes and our journeys continue!
MENU
C-
Number of non-whitespace characters
W - Number of words
f - Fix capitalization
I Replace punctuation
s Shorten spaces
q - Quit
Choose an option: f
Number of letters capitalized: 1
Edited text: We'll continue our quest in space. there will be more shuttle flig
hts and more shuttle crews and,
achers in space. nothing ends here;
yes; more volunteers, more civilians, more te
our hopes and our journeys continue!](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F1f559ff2-7390-4b86-9602-ab51f205485c%2F571880d4-7d4e-452c-97ca-929b4768c0a6%2Fj8rxjcd_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Step by step
Solved in 3 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)