Ich habe mit der Codierung von zufälligen Mengen von Zeichenfolgen mit einem Wörterbuch gespielt. Ich habe meinen Code bekommen, um die Buchstaben zu ersetzen, die ich will, aber in einigen Fällen wird er ein Zeichen mehr als einmal ersetzen, wenn ich wirklich nur möchte, dass er den Buchstaben in der Zeichenkette einmal ersetzt. Das ist, was ich habe:Encoder für eine Zeichenfolge - Python
def encode(msg,code):
for i in msg:
for i in code:
msg = msg.replace(i, code[i])
return msg
für I Testzwecke verwendet die Funktion aufruft: initial:
encode("blagh", {"a":"e","h":"r"})
und eine komplexere string:
encode("once upon a time",{'a':'ae','e':'ei','i':'io','o':'ou','u':'ua'})
für die zweite rechts oben, suche ich nach der Ausgabe von: 'ouncei uapoun ae tiomei'
sondern sind zu finden, mich mit:
„ounceio uapoun aeio tiomeio“
Wie kann ich meine Schleife begrenzen, um nur einmal jedes Zeichen zu ersetzen?
http://stackoverflow.com/questions/21038891/what-does-table-the-string- Übersetzungsfunktion bedeuten –