2017-02-23 1 views
-3

Ich versuche, eine Zeile 8 Zeichen oder weniger auf einmal zählen und es zählen, wie oft Kleinbuchstaben "f" angezeigt wird. Der Wert für die Anzahl der Male, die f auftaucht, zeigt weiterhin Null an. Text1.txt hat Kleinbuchstaben f „“ einmal auf der Linie 1 und 4-mal auf der Linie 2.Python-Zeichen zählen Probleme

with open("text1.txt","r+") as r: 
while True: 
     cCount = r.readlines(1) 
     charSet = cCount.count("f") 
     print charSet 
     if not cCount: 
      break 
if charSet == 1: 
    print("hello") 

Wo ist meine Python-Logik ist fehlgeschlagen.

+1

Bitte richtig beabsichtigen Ihren Code . –

+0

Irgendwelche Fehler? ungültige Ergebnisse? Bitte erklären Sie das Problem, das Sie haben – Sayse

Antwort

0

Versuchen Sie folgendes:

with open("text1.txt","r") as r: 
    for line in r: 
     print(line.count("f")) 

dies ist der richtige Weg, um eine Datei

EDIT iterieren: zu "fghfghf" auf "3ghgh"

with open("text1.txt","r") as r: 
    for line in r: 
     if line.count("f")==3: 
      print("3"+line.replace("f","")) 
+0

danke user4624500 Das Hilfe-Display, wie viele auf jeder Zeile. Wie kann ich eine Variable setzen, um zu sagen, dass ok f gleich 3 in Zeile 1 ist, also f durch drei am Anfang der Zeile ersetzen? bevor Python läuft .--- fghfghf nach Python läuft .-- 3ghgh – LetsChangeTheWorld

+0

Ich verstehe, wie zu ersetzen. ("F", "3") scheint nur ich habe Probleme Stapelbefehle ontop voneinander, ohne zu starten ein neues Modul. Danke noch einmal. – LetsChangeTheWorld