Σειρές

Σειρές

Εύκολο

Οδηγίες

Δεδομένης μιας συμβολοσειράς από ψηφία, εμφάνισε όλες τις συνεχόμενες υποσυμβολοσειρές μήκους n που υπάρχουν μέσα της, με τη σειρά που εμφανίζονται.

Για παράδειγμα, η συμβολοσειρά "49142" έχει τις παρακάτω ακολουθίες 3 ψηφίων:

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

Και τις παρακάτω ακολουθίες 4 ψηφίων:

  • "4914"
  • "9142"

Και αν ζητήσεις ακολουθία 6 ψηφίων από μια συμβολοσειρά 5 ψηφίων, σου αξίζει ό,τι σου τύχει.

Σημείωσε ότι αυτές οι ακολουθίες χρειάζεται μόνο να καταλαμβάνουν γειτονικές θέσεις στην είσοδο· τα ψηφία δεν χρειάζεται να είναι αριθμητικά διαδοχικά.

Μηνύματα εξαίρεσης

Κάποιες φορές είναι απαραίτητο να πετάξεις μια εξαίρεση. Όταν το κάνεις αυτό, θα πρέπει πάντα να συμπεριλαμβάνεις ένα μήνυμα σφάλματος με νόημα, ώστε να δείχνεις ποια είναι η πηγή του σφάλματος. Αυτό κάνει τον κώδικά σου πιο ευανάγνωστο και βοηθά σημαντικά στο debugging. Σε περιπτώσεις όπου ξέρεις ότι η πηγή του σφάλματος θα είναι κάποιου συγκεκριμένου τύπου, μπορείς να επιλέξεις να πετάξεις έναν από τους ενσωματωμένους τύπους σφαλμάτων, αλλά και πάλι θα πρέπει να συμπεριλάβεις ένα μήνυμα με νόημα.

Αυτή η άσκηση απαιτεί να χρησιμοποιήσεις την εντολή raise για να "πετάξεις" ένα ValueError αν οι παράμετροι series ή/και length που περνάς στη συνάρτηση slice() είναι κενές ή εκτός εύρους. Τα tests θα περάσουν μόνο αν και κάνεις raise την exception και συμπεριλάβεις ένα μήνυμα μαζί της.

Για να πετάξεις ένα ValueError με μήνυμα, γράψε το μήνυμα ως όρισμα στον τύπο 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")
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Python Exercism

Έτοιμος να ξεκινήσεις την άσκηση Σειρές;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Python με 17 έννοιες146 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.