Untitled
unknown
python
3 years ago
2.3 kB
9
Indexable
text_input = input("Enter the text: ").lower()
punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''
print("\nPunctuations removed: ")
# Initialize an empty string to store the input_text with no punctuation marks
no_punctuation = ""
for char in text_input:
# If the character is not a punctuation mark, add it to the no_punctuation string
if char not in punctuations:
no_punctuation = no_punctuation + char
print(no_punctuation)
common_articles = ['a', 'that', 'an', 'the', 'on' ,'in' ,'for', 'of', 'it', 'he', 'she', 'her', 'him' ,'his' ,'they', 'to' ,'was' ,'and', 'is' ]
print("\nCommon words removed:")
# Initialize a list to store the modified text
modified_words = []
# Initialize a dictionary to store the most frequent word(s) in the text
word_frequencies = {}
# Initialize another list to store the unique words in the text
unique_words = []
words = no_punctuation.split()
for word in words:
# If the word is not a common article, add it to the list of modified words
if word not in common_articles:
modified_words.append(word)
if word not in unique_words:
unique_words.append(word)
# If the word is already in the dictionary, increment its count
# Otherwise, initialize its count to 1
if word in word_frequencies:
word_frequencies[word] += 1
else:
word_frequencies[word] = 1
print(' '.join(modified_words))
# sort the list with a custom key
unique_words.sort(key = lambda x: word_frequencies[x], reverse=True)
print(f"\n3 most frequent words: {unique_words[:3] }")
with open('positivewords', "r") as f:
file = f.read().splitlines()
positive_words_count = 0
# Initialize another list to store the positive words from the three most frequent words
positive_words = []
for frequent_word in unique_words[:3]:
# If the word is in the 'positivewords' file, add it to the list of positive words and increment the count
if frequent_word in file:
positive_words.append(frequent_word)
positive_words_count += 1
print(f"\n{positive_words_count} word(s) are positive: {' '.join(positive_words)}")
if positive_words_count >= 2:
print("This text conveys a positive sentiment.")
else:
print("This text does not convey a positive sentiment")Editor is loading...