Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. # Type all other functions here
  2. def get_num_of_non_WS_characters(someString):
  3. counter = 0
  4. for c in someString:
  5. if c != ' ':
  6. counter += 1
  7.  
  8. return counter
  9.  
  10. def get_num_of_words(someString):
  11. counter = 0
  12. for c in someString:
  13. if c == ' ':
  14. counter += 1
  15.  
  16. return counter + 1
  17.  
  18. def fix_capitalization(someString):
  19. counter = 0
  20. newString = ''
  21. foundPunctuation = True
  22. foundSpace = True
  23.  
  24. for c in someString:
  25. thingToAdd = c
  26. if foundPunctuation == True and foundSpace == True and c != ' ':
  27. foundPunctuation = False
  28. foundSpace = False
  29. if c.islower():
  30. thingToAdd = c.upper()
  31. counter += 1
  32. elif c == '.' or c == '!' or c == '?':
  33.  
  34. foundPunctuation = True
  35. elif foundPunctuation == True and c == ' ':
  36. foundSpace = True
  37.  
  38. newString += thingToAdd
  39.  
  40.  
  41. return newString, counter
  42.  
  43. def replace_punctuation(someString):
  44. counter_punct = 0
  45. counter_comma = 0
  46. newString = ''
  47. for c in someString:
  48. thingToAdd = c
  49.  
  50. if c == '!':
  51. counter_punct += 1
  52. thingToAdd = '.'
  53. elif c == ';':
  54. counter_comma += 1
  55. thingToAdd = ','
  56.  
  57. newString += thingToAdd
  58.  
  59. return newString, counter_punct, counter_comma
  60.  
  61. def shorten_space(someString):
  62. last_character_was_a_space = False
  63. newString = ''
  64. for c in someString:
  65. if c.isspace() == True:
  66. if last_character_was_a_space == False:
  67. newString += c
  68. last_character_was_a_space = True
  69. else:
  70. newString += c
  71. last_character_was_a_space = False
  72. return newString
  73.  
  74. def print_menu(usrStr):
  75. menuOp = ''
  76. print('\nMENU')
  77. print('c - Number of non-whitespace characters')
  78. print('w - Number of words')
  79. print('f - Fix capitalization')
  80. print('r - Replace punctuation')
  81. print('s - Shorten spaces')
  82. print('q - Quit\n')
  83. menuOp = input('Choose an option:\n')
  84.  
  85. if menuOp == 'c':
  86. num_char = get_num_of_non_WS_characters(usrStr)
  87. print("Number of non-whitespace characters:", num_char)
  88. elif menuOp == 'w':
  89. num_char = get_num_of_words(usrStr)
  90. print('Number of words:', num_char)
  91. elif menuOp == 'f':
  92. result = fix_capitalization(usrStr)
  93. print('Number of letters capitalized:', result[1])
  94. usrStr = result[0]
  95. print('Edited text:', usrStr)
  96. elif menuOp == 'r':
  97. result = replace_punctuation(usrStr)
  98. print('Punctuation replaced')
  99. print('exclamationCount:', result[1])
  100. print('semicolonCount:', result[2])
  101. usrStr = result[0]
  102. print('Edited text:', usrStr)
  103. elif menuOp == 's':
  104. usrStr = shorten_space(usrStr)
  105. print('Edited text:', usrStr)
  106.  
  107. return menuOp, usrStr
  108.  
  109.  
  110. if __name__ == '__main__':
  111. usrStr = input("Enter a sample text:\n")
  112. print('\nYou entered:', usrStr)
  113. lastKnownMenuOp = ''
  114. while lastKnownMenuOp != 'q':
  115. result = print_menu(usrStr)
  116. lastKnownMenuOp = result[0]
  117. usrStr = result[1]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement