# coding: utf-8 from argparse import ArgumentParser import matplotlib.pyplot as plt from lorem import text as loremtext from functions import readFile def checkArguments(): args = ArgumentParser(description='Cryptanalyst') args.add_argument('-f', '--filename', help='Text to analyze') return args.parse_args() def stats(file=None): """ This function get a stats of all letter occurrence in a text """ if file is None: dataFile = loremtext() else: dataFile = file lettersOccurence = [] # Init our tab for i in range (0, 26): lettersOccurence.append(0) letterToAscii = ord('a') # Get the ASCII code for letter in dataFile: l = ord(letter) - letterToAscii if l >= 0 and l <= 26: lettersOccurence[l] += 1 x = [chr(letter + 65) for letter in range(0, 26)] y = [tmp for tmp in lettersOccurence] largeur = 0.5 plt.bar(x, y, largeur) plt.show() if __name__ == "__main__": args = checkArguments() if args.filename: dataFile = readFile(args.filename) stats(dataFile)