mustererkennung...

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.
chocostick

mustererkennung...

Beitragvon chocostick » Mittwoch 19. Oktober 2005, 16:45

hi,

soll n pythonprog schreibn das zur mustererkennung(suchen in texten) dient.
den grund aufbau hab ich shcon mal, aber soll jetzt einmal noch das prog so erweitern, dass das prog jedes muster aus dem text findet und dies dann auch dem benutzer zeigt (also print oder return... weiß es net so genau)
es soll dann dein Tupel mit allen positionen liefern...

außerdem außerdem soll das programm ein muster "zensieren" also wenn in einem wort wie arschaks das wort arsch steht soll das programm eine 0 wiedergeben (wenn es nicht enthalten is eine 1) hoffe ihr könnt mir wenigstens n bissle helfen...

hier is mein fertiger code zu einfachen mustererkennung:

Code: Alles auswählen

def suche(text,muster):
textlaenge = len(text)
musterlaenge = len(muster)
for index in range(0,textlaenge-musterlaenge+1,1):
if text[index:(index + musterlaenge)] == muster:
return index
return -1
t = "ersagteabernichtsaber"
m = "aber"
print suche(t,m)


thx schon mal

Edit (Leonidas): Code in Python-Tags gesetzt. Einrücken werde ich aber nicht.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Mittwoch 19. Oktober 2005, 19:27

Warum denn so umständlich?
Den Code sieht so aus:

Code: Alles auswählen

def suche(text,muster):
    textlaenge = len(text)
    musterlaenge = len(muster)
    for index in range(0,textlaenge-musterlaenge+1,1):
        if text[index:(index + musterlaenge)] == muster:
            return index
    return -1
   
t = "ersagteabernichtsaber"
m = "aber"
print suche(t,m)

Aber man braucht doch nur so viel:

Code: Alles auswählen

t = "ersagteabernichtsaber"
m = "aber"
print t.index(m)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Re: mustererkennung...

Beitragvon BlackJack » Mittwoch 19. Oktober 2005, 21:51

Das sieht so verdammt nach Hausaufgabe aus.

chocostick hat geschrieben:soll n pythonprog schreibn das zur mustererkennung(suchen in texten) dient.
den grund aufbau hab ich shcon mal, aber soll jetzt einmal noch das prog so erweitern, dass das prog jedes muster aus dem text findet und dies dann auch dem benutzer zeigt (also print oder return... weiß es net so genau)


Wenn Du es dem Benutzer zeigen sollst dann musst Du auf jeden Fall irgendwo ``print`` verwenden.

es soll dann dein Tupel mit allen positionen liefern...


Da würde ich eher eine Liste mit Positionen als Rückgabewert empfehlen.

außerdem außerdem soll das programm ein muster "zensieren" also wenn in einem wort wie arschaks das wort arsch steht soll das programm eine 0 wiedergeben (wenn es nicht enthalten is eine 1) hoffe ihr könnt mir wenigstens n bissle helfen...


Das allgemein hinzubekommen dürfte schwer sein weil der Computer ja nicht weiss was die "bösen" Worte sind. ;-)

@Leonidas: Das ist vielleicht so "umständlich" weil die in der Hausaufgabe lernen sollen wie man das Problem selbst löst. Das mit `re.findall()` zu lösen dürfte dann keine Punkte bringen. ;-)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: mustererkennung...

Beitragvon Leonidas » Donnerstag 20. Oktober 2005, 15:14

BlackJack hat geschrieben:
außerdem außerdem soll das programm ein muster "zensieren" also wenn in einem wort wie arschaks das wort arsch steht soll das programm eine 0 wiedergeben (wenn es nicht enthalten is eine 1) hoffe ihr könnt mir wenigstens n bissle helfen...


Das allgemein hinzubekommen dürfte schwer sein weil der Computer ja nicht weiss was die "bösen" Worte sind. ;-)

Außerdem würde ich statt 0 und 1 die Werte True und False empfehlen, da sie meiner Meinung nach aussagekräftiger sind.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot]