Zum Inhalt springen

Python: input() und Komprimieren Reihe von Symbolen


Empfohlene Beiträge

komprim.thumb.JPG.568dd6624bca1becbdbfe1289e3902f7.JPGHallo,

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 von ankon
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

image.png.45e9f6eb53a4fe6abb52b32d23bd39fe.png

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()

......

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...