diff --git a/aufgabe3/freq_dict.py b/aufgabe3/freq_dict.py index de9ccf6c6ab8f752ab31ec3191144d9389d2db93..ba9e0eecdabc09a72e8816407fdebdbf99549203 100755 --- a/aufgabe3/freq_dict.py +++ b/aufgabe3/freq_dict.py @@ -1,5 +1,39 @@ #!/usr/bin/env python3 +import collections + +def create_freq_dict(tokens): + + freq_dict = {} + + for token in tokens: + if not token in freq_dict.keys(): + freq_dict[token] = 1 + else: + freq_dict[token] += 1 + + return freq_dict + +def sort_freq(fd, verbose=True, descending=True): + + sorted_keys = sorted(fd, key=fd.get, reverse=descending) + sorted_list = list() + + for k in sorted_keys: + sorted_list.append((k, fd[k])) + + if verbose: + print(sorted_list) + +def can_write_string(want, have): + + fd_want = collections.Counter(want) + fd_have = collections.Counter(have) + for k, v in fd_want.items(): + if v > fd_have[k]: + return False + + return True def sanitize(string): @@ -17,7 +51,9 @@ def main(): tokens = sanitize(content).split() try: - create_freq_dict(tokens) + a = create_freq_dict(tokens) + sort_freq(a, verbose=False) + #print(can_write_string('foo', 'oh california')) except Exception as e: print("Error while calling function:") print(e)