Ich habe ein Problem, an dem ich arbeite, wo ich die Anzahl der Wörter in einer Zeichenfolge ohne die split()
Funktion in Python zählen muss. Ich dachte an einen Ansatz, wo ich eine Variable word=0
nehmen und es jedes Mal erhöhen kann, wenn ein leerer Platz in der Zeichenfolge ist, aber es scheint nicht zu funktionieren, da es immer eine Zählung weniger als die tatsächliche Anzahl gab.zählen Wörter in einer Zeichenfolge ohne Verwendung von Split
s="the sky is blue"
def countW(s):
print(s)
word=0
for i in s:
if i==" ":
word=word+1
print(word)
countW(s)
Ich weiß, es ist eine einfache Frage, aber ich habe Schwierigkeiten zu verstehen, was kann ich sonst noch in Betracht halten, um sicherzustellen, dass ich die richtige Zahl zu erhalten. Der zweite Ansatz, an den ich dachte, betrifft zu viel für die Erstellung von Schleifen und Arrays und dann für die Konvertierung von Strings. Kann mir jemand auf einen einfacheren Ansatz hinweisen, bei dem ich die zeitliche Komplexität dafür nicht verlängere.
def COUNTW (s): print (s) Wort = 0 für i in s: wenn i ==“„: Wort = word + 1 Druck (Wort) COUNTW (s) –
's.count (" ") + 1' sollte es tun. –
Mögliches Duplikat von [Zählvorkommen eines Zeichens in einer Zeichenkette] (http://stackoverflow.com/questions/1155617/count-occurrence-of-a-character-in-a-string) –