Add star wars 1 and exception
This commit is contained in:
parent
1ac8de02cf
commit
e72120bd14
55
program.py
55
program.py
@ -1,38 +1,54 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
|
||||||
def sort(dictionnary):
|
def sort(dic):
|
||||||
new_dic = {}
|
new_dic = {}
|
||||||
while len(dictionnary) > 0:
|
while len(dic) > 0:
|
||||||
tmp_val = 0
|
tmp_val = 0
|
||||||
tmp_key = ""
|
tmp_key = ""
|
||||||
for key, val in dictionnary.items():
|
for key, val in dic.items():
|
||||||
if val > tmp_val:
|
if val > tmp_val:
|
||||||
tmp_key = key
|
tmp_key = key
|
||||||
tmp_val = val
|
tmp_val = val
|
||||||
new_dic[tmp_key] = tmp_val
|
new_dic[tmp_key] = tmp_val
|
||||||
dictionnary.__delitem__(tmp_key)
|
dic.__delitem__(tmp_key)
|
||||||
return new_dic
|
return new_dic
|
||||||
|
|
||||||
|
|
||||||
def get_words(script):
|
def get_words(script):
|
||||||
words = []
|
words = []
|
||||||
file = open(script, "r")
|
|
||||||
file_content = file.read()
|
|
||||||
file_content_split = file_content.split(" ")
|
|
||||||
for word_split_1 in file_content_split:
|
|
||||||
if word_split_1 != "":
|
|
||||||
remove_back_to_line = word_split_1.split('\n')
|
|
||||||
for word in remove_back_to_line:
|
|
||||||
if word != "":
|
|
||||||
words.append(word)
|
|
||||||
|
|
||||||
file.close()
|
try:
|
||||||
|
file = open(script, "r")
|
||||||
|
file_content = file.read()
|
||||||
|
|
||||||
|
file_content_split = file_content.split(" ")
|
||||||
|
for word_split_1 in file_content_split:
|
||||||
|
if word_split_1 != "":
|
||||||
|
remove_back_to_line = word_split_1.split('\n')
|
||||||
|
for word in remove_back_to_line:
|
||||||
|
if word != "":
|
||||||
|
words.append(word)
|
||||||
|
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
except FileNotFoundError:
|
||||||
|
sys.stderr.write("Error: " + script + " does not exist!")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
return words
|
return words
|
||||||
|
|
||||||
|
|
||||||
|
def get_movie_name(file_path):
|
||||||
|
files_name = file_path.split("/")
|
||||||
|
file_name = files_name.pop()
|
||||||
|
movie_name = (file_name.split('.')[0]).replace('_', ' ')
|
||||||
|
return movie_name
|
||||||
|
|
||||||
|
|
||||||
def get_frequency(words):
|
def get_frequency(words):
|
||||||
freq = {}
|
freq = {}
|
||||||
for word in words:
|
for word in words:
|
||||||
@ -43,10 +59,19 @@ def get_frequency(words):
|
|||||||
return sort(freq)
|
return sort(freq)
|
||||||
|
|
||||||
|
|
||||||
|
def display_fig(words, movie_name):
|
||||||
|
plt.title("Word frequencies in " + movie_name)
|
||||||
|
plt.ylabel("Number of Occurrences")
|
||||||
|
plt.xlabel("Words")
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
|
||||||
def main(script):
|
def main(script):
|
||||||
|
print("File loading and sorting ...")
|
||||||
words = get_words(script)
|
words = get_words(script)
|
||||||
sorted_words = get_frequency(words)
|
sorted_words = get_frequency(words)
|
||||||
print(sorted_words)
|
print("Display result")
|
||||||
|
display_fig(sorted_words, get_movie_name(script))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
4230
scripts/Star_Wars_Episode_I.txt
Normal file
4230
scripts/Star_Wars_Episode_I.txt
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user