Detektor Wahrnehmungsart
Verfasst: Mittwoch 28. Juni 2023, 22:10
Liebes Forum,
ich arbeite an einem Detektor, der aus echtsprachlichen Sätzen die Wahrnehmungsart filtern und durch w1() für "optisch", w2() für "akustisch", w3() für "riechen", w4() für "tasten" und w5() für "schmecken" ersetzen soll.
Das klappt auch soweit ganz gut, aber aus irgendeinem Grund hängt mir das Programm an die geschlossene Klammer den letzten Buchstaben des gefundenen Wortes. Beispiel: "Bitte geben Sie einen Satz ein: Ich sehe das Auto. FALSCHES Ergebnis: "Ich w1()e das Auto." RICHTIG sollte es heißen: "Bitte geben Sie einen Satz ein: Ich sehe das Auto.
Ich w1() das Auto." Halt ohne das angehängte "e", das von "sehe" stammt.
Leider komme ich nicht drauf, wo der Fehler liegen könnte. Seht ihr was?
1000 Dank im Voraus
von
Andreas
ich arbeite an einem Detektor, der aus echtsprachlichen Sätzen die Wahrnehmungsart filtern und durch w1() für "optisch", w2() für "akustisch", w3() für "riechen", w4() für "tasten" und w5() für "schmecken" ersetzen soll.
Code: Alles auswählen
import re
sight_words = set(["sehen", "sehe", "siehst", "sieht", "seht", "gesehen", "sah", "sahst", "saht", "sahen", "erspähen", "erspähe", "erspähst", "erspäht", "erspähte", "erspähtest", "erspähten", "erspähtet", "spähen", "spähe", "spähst", "späht", "spähte", "spähtest", "spähten", "spähtet", "bemerken", "bemerke", "bemerkst", "bemerkt", "bemerkte", "bemerktest", "bemerkten", "bemerktet", "entdecken", "entdecke", "entdeckst", "entdeckt", "entdeckte", "entdecktest", "entdecktet", "entdeckten", "erblicken", "erblicke", "erblickst", "erblickt", "erblickte", "erblicktest", "erblicktet", "erblickten", "gewahren", "gewahre", "gewahrst", "gewahrt", "gewahrte", "gewahrtest", "gewahrten", "gewahrtet", "schauen", "schaue", "schaust", "schaut", "schaute", "schautest", "schauten", "schautet", "geschaut", "sichten", "sichte", "sichtest", "sichtet", "sichtete," "sichtetest", "sichteten", "sichtetet", "gesichtet" ])
hearing_words = set(["hören", "höre", "hörst", "hört", "hörte", "hörtest", "hörte", "hörten", "hörtet", "gehört", "Gehör", "lausche", "lauschst", "lauscht", "lauschen", "gelauscht", "lauschte", "lauschtest", "lauschten", "lauschtet", "horche", "horchst", "horcht", "horchen", "horchte", "horchtest", "horchten", "horchtet", "gehorcht", "Ohren", "vernehme", "vernehmst", "vernimmst", "vernimmt", "vernehmt", "vernehmen", "vernahm", "vernahmst", "vernahmen", "vernahmt", "vernommen" ])
smell_words = set(["riechen", "rieche", "riechst", "riecht", "roch", "rochst", "rochen", "rocht", "gerochen", "schnuppern", "schnuppere", "schnupperst", "schnuppert", "schnupperte", "schnuppertest", "schnuppertet", "schnupperten", "geschnuppert"])
touch_words = set(["tasten", "taste", "tastest", "tastet", "getastet", "tastete", "tastetest", "tasteten", "tastetet", "fühlen", "fühle", "fühlst", "fühlt", "gefühlt", "fühlte", "fühltest", "fühlten", "fühltet", "greife", "greifst", "greift", "begreifen", "begriffen", "begriff", "begriffst", "begrifft"])
taste_words = set(["schmecken", "schmecke", "schmeckst", "schmeckt", "schmeckte", "schmecktest", "schmeckten", "geschmeckt"])
# Hauptteil des Programms
sentence = input("Bitte geben Sie einen Satz ein: ")
words = sentence.split()
for i in range(len(words)):
word = words[i].strip(".,!?:;") # Entfernen Sie Zeichen am Ende des Wortes
if word in sight_words:
words[i] = re.sub(r'\b{}\b'.format(word), 'sight', words[i])
elif word in hearing_words:
words[i] = re.sub(r'\b{}\b'.format(word), 'hearing', words[i])
elif word in smell_words:
words[i] = re.sub(r'\b{}\b'.format(word), 'smell', words[i])
elif word in touch_words:
words[i] = re.sub(r'\b{}\b'.format(word), 'touch', words[i])
elif word in taste_words:
words[i] = re.sub(r'\b{}\b'.format(word), 'taste', words[i])
sentence = " ".join(words)
print(sentence)
Ich w1() das Auto." Halt ohne das angehängte "e", das von "sehe" stammt.
Leider komme ich nicht drauf, wo der Fehler liegen könnte. Seht ihr was?
1000 Dank im Voraus
von
Andreas