from os import strerror

file_name = "lab43.txt"

# Il dizionario conterra' una coppia chiave/valore per ogni lettera trovata:
# chiave = lettera, valore = quante volte appare nel file.
letters = {}

try:
    stream = open(file_name, "rt", encoding="utf-8")

    ch = stream.read(1)
    while ch != "":

        ch = ch.lower()

        if "a" <= ch <= "z":
            if ch in letters:
                letters[ch] += 1
            else:
                letters[ch] = 1

        ch = stream.read(1)

    stream.close()

    for letter in sorted(letters.keys()):
        print(letter, "->", letters[letter])

except IOError as e:
    print("Errore di I/O:", strerror(e.errno))
