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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pantoffeltierchen
User
Beiträge: 16
Registriert: Donnerstag 30. November 2006, 17:48
Wohnort: Berlin
Kontaktdaten:

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
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

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
pantoffeltierchen
User
Beiträge: 16
Registriert: Donnerstag 30. November 2006, 17:48
Wohnort: Berlin
Kontaktdaten:

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
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

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
>>> 
pantoffeltierchen
User
Beiträge: 16
Registriert: Donnerstag 30. November 2006, 17:48
Wohnort: Berlin
Kontaktdaten:

he ja das sieht gut aus!!

danke dir!!!
pantoffeltierchen
User
Beiträge: 16
Registriert: Donnerstag 30. November 2006, 17:48
Wohnort: Berlin
Kontaktdaten:

und wenn ich die Leerzeichen mitzählen will?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

pantoffeltierchen hat geschrieben:und wenn ich die Leerzeichen mitzählen will?

Code: Alles auswählen

len(text)
Also das war wirklich nicht schwer, oder?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
c3lsi0r
User
Beiträge: 3
Registriert: Donnerstag 31. Januar 2019, 17:04
Wohnort: nähe Hannover
Kontaktdaten:

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 ;-) .
Antworten