Seite 1 von 1

Eingabe wird nicht als string erkannt

Verfasst: Mittwoch 21. Oktober 2020, 13:31
von linn29
Hey,

ich habe ein Programm, bei dem am Anfang eine Buchstaben- und Zeichenfolge eingegeben werden soll, um diese dann weiterzuverarbeiten.

Der Code sieht so aus:

Code: Alles auswählen

while True:
    text= input()
    if text.endswith(":"):
        break
    else:
         text = str(text + ":")
print(text)
Die Zeichenfolge wird per copy-paste in das input() eingefügt. Da die Zeichenfolge auch Zeilenumbrüche beeinhaltet, bekam ich den Tipp, als Bestätigung für das Ende der Eingabe nicht eine Leerzeile zu nehmen(da sonst die while-Schlaufe bei dem ersten Zeilenumbruch beendet wird, obwohl die Zeichenfolge noch nicht zuende ist).
Ich habe mich dann für einen Doppelpunkt entschieden (da dieses Zeichen mit Sicherheit nicht in der Zeichenfolge vorkommt), der nach dem Einfügen per copy-paste noch manuell hinzugefügt wird. Erst nach dem Doppelpunkt soll die Variable text definiert sein und das weitere Programm starten.

Als Zwischenkontrolle hatte ich die Idee, dass er mir die Variable text einmal zeigen soll (und hatte mir erhofft, dass somit die eingefügte Zeichenfolge noch einmal gezeigt wird), bevor das Programm weiterläuft. Dabei ist mir aufgefallen, dass text immer nur der Doppelpunkt ist und die eingefügte Zeichenfolge überhaupt nicht verwendet wird, was im weiteren Programm zu Fehlern führt.

Was ist an dem Code falsch, sodass unter der Variable text nicht die eingefügte Zeichenfolge, sondern nur der Doppelpunkt gespeichert wird? Oder unter welcher Variable könnte ich die Zeichenfolge weiterverwenden, wenn es nicht text ist?

Grüße

Re: Eingabe wird nicht als string erkannt

Verfasst: Mittwoch 21. Oktober 2020, 13:43
von Sirius3
Was hat Dein Code mit dem Code von __blackjack__ aus dem anderen Thread zu tun?

Code: Alles auswählen

    lines = list()
    while True:
        line = input()
        if not line:
            break
        lines.append(line + "\n")
    text = "".join(lines)
Wenn Du weißt, warum Du den Code geändert hast, dann sollte das Deine Frage auch beantworten.