From 5c01b3a21adb0e755dc10780eb2a3550953a2ff0 Mon Sep 17 00:00:00 2001 From: AndrewB50 <97339555+AndrewB50@users.noreply.github.com> Date: Sat, 9 Dec 2023 03:33:01 -0600 Subject: [PATCH] Update Python Program to Sort Words in Alphabetic Order.py Changes: >Removes punctuation >Sorts all words alphabetically by using consistent case (.lower()) >Ignores duplicate words >Output is a dictionary which assigns each alphabetized word (value) a respective number (key) --- ...ogram to Sort Words in Alphabetic Order.py | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/Python Program to Sort Words in Alphabetic Order.py b/Python Program to Sort Words in Alphabetic Order.py index f4ebe04a29c..3e4bd3564e5 100644 --- a/Python Program to Sort Words in Alphabetic Order.py +++ b/Python Program to Sort Words in Alphabetic Order.py @@ -1,18 +1,42 @@ -# Program to sort alphabetically the words form a string provided by the user +# Program to sort words alphabetically and put them in a dictionary with corresponding numbered keys +# We are also removing punctuation to ensure the desired output, without importing a library for assistance. -my_str = "Hello this Is an Example With cased letters" +# Declare base variables +word_Dict = {} +count = 0 +my_str = "Hello this Is an Example With cased letters. Hello, this is a good string" +#Initialize punctuation +punctuations = '''!()-[]{};:'",<>./?@#$%^&*_~''' # To take input from the user #my_str = input("Enter a string: ") +# remove punctuation from the string and use an empty variable to put the alphabetic characters into +no_punct = "" +for char in my_str: + if char not in punctuations: + no_punct = no_punct + char + +# Make all words in string lowercase. my_str now equals the original string without the punctuation +my_str = no_punct.lower() + # breakdown the string into a list of words words = my_str.split() -# sort the list +# sort the list and remove duplicate words words.sort() -# display the sorted words - -print("The sorted words are:") +new_Word_List = [] for word in words: - print(word) + if word not in new_Word_List: + new_Word_List.append(word) + else: + continue + +# insert sorted words into dictionary with key + +for word in new_Word_List: + count+=1 + word_Dict[count] = word + +print(word_Dict)