Serien

Serien

Einfach

Anleitung

Gegeben ist ein String aus Ziffern. Gib alle zusammenhängenden Teilstrings der Länge n in diesem String in der Reihenfolge aus, in der sie vorkommen.

Zum Beispiel hat der String "49142" die folgenden dreistelligen Serien:

  • "491"
  • "914"
  • "142"

Und die folgenden vierstelligen Serien:

  • "4914"
  • "9142"

Und wenn du von einem fünfstelligen String eine sechsstellige Serie verlangst, dann hast du es nicht anders verdient.

Beachte, dass diese Serien in der Eingabe nur benachbarte Positionen einnehmen müssen; die Ziffern müssen nicht aufeinanderfolgende Zahlenwerte sein.

Ausnahmemeldungen

Manchmal ist es nötig, eine Ausnahme auszulösen. Dabei solltest du immer eine aussagekräftige Fehlermeldung angeben, die zeigt, woher der Fehler stammt. Das macht deinen Code lesbarer und hilft beim Debugging erheblich weiter. Wenn du weißt, dass die Fehlerquelle von einem bestimmten Typ ist, kannst du eine der eingebauten Fehlertypen auslösen, solltest aber trotzdem eine aussagekräftige Meldung angeben.

In dieser Übung musst du die raise-Anweisung verwenden, um einen ValueError zu „werfen“, wenn die Parameter series und/oder length, die in die Funktion slice() eingegeben werden, leer sind oder außerhalb des gültigen Bereichs liegen. Die Tests bestehen nur, wenn du beides tust: die exception mit raise auslösen und eine Meldung dazu angeben.

Um einen ValueError mit einer Meldung auszulösen, übergib die Meldung als Argument an den Typ exception:

# if the slice length is zero.
raise ValueError("slice length cannot be zero")

# if the slice length is negative.
raise ValueError("slice length cannot be negative")

# if the series provided is empty.
raise ValueError("series cannot be empty")

# if the slice length is longer than the series.
raise ValueError("slice length cannot be greater than series length")
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Python Exercism

Bereit, mit Serien zu starten?

Melde dich bei Exercism an, um Python mit 17 Konzepte146 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.