Python Buchstaben ersetzen - Dictionary?

3 Antworten

leider bekomme ich folgende Code nicht zum laufen

Eine präzise Fehlerbeschreibung sieht anders aus. Aber beim Drüberlesen fällt mir auf:

aehnliche = {'a': [4], 'o': [0]}

Wenn Du eine Liste von falschen Zeichen brauchst, darfst Du keine Integer reinschreiben. Kein String enthält die Zahl 4, höchstens den String '4':

aehnliche = {'a': ['4'], 'o': ['0']}

Mehr Fehler habe ich nicht gefunden. Ich finde es nur schräg, dass Du mit [z] auf ein Dictionary zugreifst, obwohl z gar nicht drin sein muss. Dafür gibt es doch die get()-Methode:

for z in satz:
    neuerSatz += rueckwaerts.get(z,z) # buchstaben ersetzen oder kopieren

Übrigens ist z in dieser Schleife immer ein einzelner Buchstabe. Eine Ersetzung von 'nn' nach 'n' wirst Du so sicher nie schaffen.

cobblclasher 
Fragesteller
 10.01.2020, 23:15

Vielen Dank. Was empfiehlst du mir stattdessen?

0

Du kannst zum ersetzen von Buchtstaben auch einfach replace() benutzen:

satz = "w4ann kommt"
neuerSatz = satz.replace("4", "a").replace("0", "o")
print(neuerSatz)# waann kommt

der code hier macht genau das.

wenn du statt der 4 nichts stehen haben willst, kannst du replace("4", "") machen

Woher ich das weiß:eigene Erfahrung
cobblclasher 
Fragesteller
 10.01.2020, 21:15

vielen dank. ich muss das noch weiter ausdenen nur z.b.

w4n w4nn w4nnn w4ñn w4ññ w4ñññ wan wann wannn waññ Waññ wän wännn wánn wán wànn wàn

Wie mache ich das dann?

0
MistrX271  10.01.2020, 21:25
@cobblclasher

Du meinst, dass der immer erkennt, dass da "wann" stehen soll?

Da wäre ich dann leider auch überfragt :(

Aber vielleicht kann man das versuchen mit einer Künstlichen Intelligenz zu lösen. Wie das genau geht weiß ich leider nicht.

0

Wer hat den den misst geschrieben? Ich vielleicht? 😁 (jedenfalls ein Teil davon...)

aehnliche = {'a': ['4'], 'o': ['0']}
cobblclasher 
Fragesteller
 10.01.2020, 21:27

klappt ja jetzt

1
cobblclasher 
Fragesteller
 10.01.2020, 21:29

wo liegt aber der vorteil von dem dictionary gegenüber von replace?

0