Add star wars 1 and exception
This commit is contained in:
		
							
								
								
									
										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
											
										
									
								
							
		Reference in New Issue
	
	Block a user