import AlphabetUtils as au def calculate_frequency(text: str, fancy_printing: bool = False): """ Calculates the frequency of every letter in the german alphabet for the given text :param text: The text to calculate the letter frequency for :return: A list of frequencies, where index 0 contains the frequency of a in percent and so on. """ occurrence_count = [0 for i in range(26)] for char in text: if au.is_letter_of_alphabet(char): char_index = au.get_index_of_letter(char) occurrence_count[char_index] += 1 occurrence_frequency = [] for count in occurrence_count: occurrence_frequency.append(count / len(text)) if fancy_printing: for i in range(26): print(f'{au.get_letter_at_index(i, True)}: {occurrence_frequency[i] * 100}%') return occurrence_frequency if __name__ == '__main__': print( calculate_frequency('Hier den Text eingeben, für den die Wahrscheinlichkeiten berechnet werden sollen', True))