ankon Geschrieben 28. November 2021 Geschrieben 28. November 2021 (bearbeitet) Hallo, ich mache eine Übung auf Python, aber es sind anscheinend Fehler drin. # Schreiben Sie Programm, welches eine eingegebene Reihe von Symbolen komprimiert # An Eingang wird folgend aussehende Reihe von Symbolen eingegeben: # aaabbccccdaa # Zu ausgeben ist ein String. welches aus Symbolen (von eingegebenen String) # und von der Anzahl der Widerholungen dieser Symbolen besteht. wie z.B.: # a3b2c4d1a2 # -------------------------------------------------------------- text = input() # Wir erhalten eingegebenen Zeile/String <= ?!!! I think hier could be an error!!! # I expect hier a possibility for input an str., but there isn't any possibility... # with this kind of input() - it seems to not run !! # text = map(int, input().split()) # second option: Wir erhalten eingegebenen String first = text[0] # Speichern von ersten Symbol count = 0 # Zähler setzen result = '' # und resultierende String for symb in text: if symb == first: # Falls Symbol == gespeicherten Symbol count += 1 # Zähler wird um 1 größer else: result += first + str(count) # sonst - speichern Ergebnis first = symb # und erneuern das gespeicherte Symbol mit seinem Zähler count = 1 result += first + str(count) # und ergänzen ins Ergebnis das letzte Symbol print(result) --------------------------------------------------------------------------------------------------- Vor allem in folgendem Fragment erwarte ich die Eingabe, aber es ist leider keine Eingabemöglichkeit von einer Reihe aus Zahlen.... und Programm scheint lange zu laufen Ich habe das Fragment text = input() # Erhalten String print(text) als separates Programm ausprobiert, aber das Ergebnis ist ähnlich... Was ist hier falsch? Bitte um Hilfe. Bearbeitet 28. November 2021 von ankon Zitieren
_n4p_ Geschrieben 28. November 2021 Geschrieben 28. November 2021 input() liest von der Standardeingabe, man kann der Funktion auch einen Text übergeben damit der Anwender weiß was los ist danach tippt man drauf los und beendet die Eingabe mit <ENTER> Zitieren
ankon Geschrieben 28. November 2021 Autor Geschrieben 28. November 2021 vor 47 Minuten schrieb _n4p_: input() liest von der Standardeingabe, man kann der Funktion auch einen Text übergeben damit der Anwender weiß was los ist danach tippt man drauf los und beendet die Eingabe mit <ENTER> Danke. Ja, so funktioniert die Eingabe, aber in Roh-Variante (vom Aufgabensteller) steht es so: text = input() ...... Zitieren
ankon Geschrieben 28. November 2021 Autor Geschrieben 28. November 2021 vor 3 Stunden schrieb ankon: Danke. Ja, so funktioniert die Eingabe, aber in Roh-Variante (vom Aufgabensteller) steht es so: text = input() ...... Ah... danke. Jetzt scheint es zu funktionieren. Aber auch triviale Fehler/Pech muss man ab und zu hinter sich lassen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.