Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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>

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

......

  • Autor
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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.