Seite 1 von 1

Brauche hilfe bei Wörter zählen/Zeichen Zählen

Verfasst: Freitag 22. Dezember 2006, 08:55
von pantoffeltierchen
Hi,

wir haben bis jetzt ein Programm geschrieben was mittels Listen, Buchstaben findet und such und Wörter erzetzt. Doch leider wollen wir auch Wörter und Buchstaben zählen. Aber leider kriegen wir das nicht hin, vll. habt ihr ne Idee.

Hier der Programm code:

Code: Alles auswählen

def text2liste(text):
    liste =  []
    for i in text:
        liste.append(i)

    return liste

def suchebuchstabe(text, buchstabe):
    for i in text:
        if i == buchstabe:
            return True
    return False

def ersetzebuchstabe(text, buchstabe_alt, buchstabe_neu):
    liste = text2liste(text)
    for i in range (len(liste)):
        if liste[i] == buchstabe_alt:
            liste[i] = buchstabe_neu       
    return liste

def dez2bin(zahl):
    erg=[]
    while zahl >0:
        erg.insert(0,zahl%2)
        zahl=zahl/2
    for i in erg:
        print i,

def liste2text(liste):
    text = ' '
    for i in liste:
        text = text + i

    return text


#def finde_wort(text, wort):
    


'''
def ersetzewort (text, wort_alt, wort_neu):
    neue_liste = text2liste(text)
    for i in range (len(liste)):
        if liste[i] == wort_alt:
            liste[i] = wort_neu       
    return liste
'''

def ersetzewort(text, wort_alt, wort_neu):
    text = text.replace(wort_alt, wort_neu)
    return text

'''
text = raw_input ('Geben sie den zu durchsuchenden Text ein:')    
buchstabe = raw_input ('Geben sie den gesuchten Buchstaben an:')

print suchebuchstabe(text, buchstabe)

buchstabe_alt = raw_input ('Geben sie den Buchstaben an, der ersetzt werden soll:')
buchstabe_neu = raw_input ('Geben sie den Buchstaben an, welcher dafuer eingefügt werdden soll:')


print ersetzebuchstabe(text, buchstabe_alt, buchstabe_neu)
neue_liste=ersetzebuchstabe(text, buchstabe_alt, buchstabe_neu)
print liste2text(neue_liste)

wort_alt = raw_input ('Geben sie das Wort ein, welches ersetzt werden soll:')
wort_neu = raw_input ('Geben sie das Wort ein, was dafuer eingefuegt werden soll:')

print ersetzewort(text, wort_alt,wort_neu)

'''
Mfg

Verfasst: Freitag 22. Dezember 2006, 09:16
von rayo
Hi

Was meinst du mit Buchstaben zählen? einfach len(s)?

Wörter zählen: Einfach den String aufteilen und Länge davon nehmen -> len(s.split())

Du musst den String nicht in eine Liste umwandlen, du kannst es auch direkt mit Strings erledigen, wenn du trotzdem Listen möchtest kannst du einfacher mit list(s) umwandeln.

ein paar Tipps (Kommentare sind die Rückgabewerte):

Code: Alles auswählen

s = 'abcdefghijklme'
'd' in s # True
'n' in s # False
s.index('e') # 4
s.count('e') # 2
s.replace('e','k') #'abcdkfghijklmk'
Gruss

Verfasst: Freitag 22. Dezember 2006, 09:41
von pantoffeltierchen
mit Wörter bzw. Buchstaben zählen, stelle ich mir vor das es als Zahl zurückgegeben wird!

Sprich: Hallo Welt

=> 2 Wörter und 9 Buchstaben

Verfasst: Freitag 22. Dezember 2006, 10:10
von pyStyler
Hallo,
pantoffeltierchen hat geschrieben:mit Wörter bzw. Buchstaben zählen, stelle ich mir vor das es als Zahl zurückgegeben wird!

Sprich: Hallo Welt

=> 2 Wörter und 9 Buchstaben
meinst Du sowas

Code: Alles auswählen

>>> text = 'Hallo Welt'
>>> text_split = text.split()
>>> len(text_split)
2
>>> x = ''.join(text_split)
>>> len(x)
9
>>> 

Verfasst: Samstag 23. Dezember 2006, 17:54
von pantoffeltierchen
he ja das sieht gut aus!!

danke dir!!!

Verfasst: Mittwoch 27. Dezember 2006, 17:33
von pantoffeltierchen
und wenn ich die Leerzeichen mitzählen will?

Verfasst: Mittwoch 27. Dezember 2006, 17:39
von Leonidas
pantoffeltierchen hat geschrieben:und wenn ich die Leerzeichen mitzählen will?

Code: Alles auswählen

len(text)
Also das war wirklich nicht schwer, oder?

Re: Brauche hilfe bei Wörter zählen/Zeichen Zählen

Verfasst: Montag 4. Februar 2019, 18:58
von c3lsi0r
Hallo,
also ich steige da zwar jetzt nicht 100% genau durch was du meinst, aber versuche es doch einmal hiermit,
vielleicht hillft es dir ja weiter.

Code: Alles auswählen

import re

liste = re.findall('hallo', 'hallo das ist ein schöner tag . hallo das finde ich  auch hallo.')

print(liste)
len(liste)
also, hier wird das wort 'hallo' gesucht und in eine Liste ausgegeben so oft es Vorhanden ist und die Anzahl.
Ausgabe sieht so aus:

Code: Alles auswählen

['hallo', 'hallo', 'hallo']

3
gruß
c3lsi0r


Nachtrag: Ups Sorry, jetzt erst das Datum gesehen ... habe den Beitrag über eine Suchmaschine gefunden, weil ich was gesucht habe und bin zufällig hier drauf gestoßen... Auf das Datum habe ich erst später geschaut ' Sorry ' . Der Jenige ist jetzt mittlerweile bestimmt schon Python Guru ;-) .