Programm: Häufigkeit von Buchstaben aus einer Textdatei ermitteln?
Hallo und schon mal danke im Voraus!
Ich würde gerne die Häufigkeit von Buchstaben in einer txt Datei ermitteln. z.B Wie häufig kommt der Buchstabe a in der Datei vor.
Meine Versuch bis jetzt:
f = open("Test.txt", encoding = "utf-8")
text = f.read().split()
f.close()
var = "d"
def count(text, var):
found = 0
for key in text:
if key == var:
found +=1
return found
count(text, var)
print(var,count(text,var))
2 Antworten
![](https://images.gutefrage.net/media/default/user/0_nmmslarge.png?v=1438863662000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren
from codecs import open as co
from collections import Counter
with co('datei.txt', 'r', 'utf-8', 'strict') as fp:
text = fp.read()
for char, count in Counter(text).most_common():
if not char.isspace():
print(char, '=>', count)
![](https://images.gutefrage.net/media/user/ohwehohach/1484229011333_nmmslarge__192_3_203_203_916b80d33227bc2c78789585f46b3253.jpg?v=1484229011000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren
die letzten drei Zeilen sind zu weit eingerückt.
"return found" muss außrehalb der for-Schleife erfolgen, sonst wird die Schleife nur einmal durchlaufen.
Die Zeile "count(text, var)" ist überflüssig.
Aber meine Python-Kenntnisse sind auch relativ eingeschränkt...