input mit Leerzeichen str.replace

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
Benutzeravatar
michi-monster
User
Beiträge: 48
Registriert: Donnerstag 7. Dezember 2017, 18:30
Kontaktdaten:

Halli Allerseits. Ich entwickle ein Programm mit dem ich Häkelanleitungen übersetzen kann. Jetzt will ich einen input mit str.replace umwandeln.Leider ist das Einfügen von Text mit Leerzeichen anscheinend nicht möglich. Wie kann ich das lösen?

Code: Alles auswählen

print ("Bitte den Text eingeben")
str=input()
str_neu=str.replace("\n", "").replace("sc","fM").replace("dec","abn").replace("body","Körper").replace("arms","Arme").replace("Round","Runde")
print ("Die Übersetzung:", str_neu)             
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Also fuer mich geht das problemlos:

Code: Alles auswählen

>>> "foo".replace("foo", "dies ist ein langer text mit leerzeichen")
'dies ist ein langer text mit leerzeichen'
Kannst du mal genauer beschreiben, was da passieren soll, aber nicht passiert, und wie es dann aussieht?
Benutzeravatar
michi-monster
User
Beiträge: 48
Registriert: Donnerstag 7. Dezember 2017, 18:30
Kontaktdaten:

Sorry- Fehler . Ich meine Enter, nicht Leerzeichen. Es ist von mir gewünscht, dass ich einen Text kopiere wie zum Beispiel "With white yarn:
Round 1.
Round 2.
Round 3.
Round 4.
Round 5.
Round 11.
6 sc in double adjustable ring
inc*"

Wenn ich das einfüge wird nur die erste Zeile übersetzt.
Bitte den Text eingeben
With white yarn:
Round 1.
Round 2.
Round 3.
Round 4.
Round 5.
Round 11.
6 sc in double adjustable ring
inc*
(sc, inc)*
(2 sc, inc)*
– Round 10. sc*
(2 sc, dec)*
(6)
(12)
(18)
(24)
(24)
(18)
Die Übersetzung: mit white yarn:
>>>
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich werde aus deiner Beschreibung nicht so ganz schlau, aber schon das erste replace schmeisst doch alle newlines raus. Danach werden dann nur Uebersetzungen von Abkuerzungen zu Woertern ohne white-Space. vorgenommen. Also enthaelt das Ergebnis dann keine neuen Zeilen mehr 🤷‍♂️
Benutzeravatar
michi-monster
User
Beiträge: 48
Registriert: Donnerstag 7. Dezember 2017, 18:30
Kontaktdaten:

Ich verstehe nicht, warum nicht weiter übersetzt wird. So zum Beispiel .replace("Round","Runde")
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

str als Variablenname ist sehr unglücklich, da das eine Python Funktion ist.
Wenn du die input Funktion aufrufst, Text eingibst und Enter drückst, wird die Funktion beendet.
Ich verstehe dich so, dass du den Text zuvor in den Zwischenspeicher kopierst und dann in die Eingabe kopierst.
Wenn im Text ein Enter-Code "Carriage-Return" enthalten ist, wird alles danach nicht mehr durch die Input Funktion angenommen.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Antworten