3.1.1 - Εύρος - Range

Τι είναι μία επανάληψη στον προγραμματισμό; Στον προγραμματισμό υπολογιστών, μία επανάληψη είναι μία σειρά εντολών που επαναλαμβάνονται συνεχώς μέχρι να μία συγκεκριμένη συνθήκη να ικανοποιηθεί.

Τι πρέπει να κάνουμε για να εμφανίσουμε 10 φορές το όνομα του καλύτερου μας φίλου; Θα μπορούσαμε να γράψουμε τον παρακάτω κώδικα 10 φορές:

print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick") print("My best friend's name is Nick")


Αντί αυτού όμως μπορούμε να δώουμε εντολή στον υπολογιστή να επαναλάβει την εντολή 10 φορές.

Αρχικά πρέπει να μάθουμε  την εντολή range (εύρος). Όταν πληκτρολογούμε  range(10), η python δημιουργεί μία λίστα με αριθμούς, τους οποίους χρησιμοποιούμε για τις φορές που θα εκτελεστεί η επανάληψη με for.

Έτσι, το range(5) περιέχει 5 αριθμούς [0, 1, 2, 3, 4]. Στις γλώσσες προγραμματισμού για υπολογιστές το μέτρημα αρχίζει από το 0 (μηδέν).

Αν θέλετε να δείτε τι περιλαμβάνει μία εντολή range μπορείτε να γράψετε στην ακόλουθη εντολή στο χώρο εκτέλεσης εντολών του Thonny

>>> list(range(5))

Δοκιμάστε και το ακόλουθο και προσπαθήστε να καταλάβετε τι κάνει η range

>>> list(range(3,6))     # το αποτέλεσμα είναι [3, 4 , 5]

>>> list(range(9,16))   # το αποτέλεσμα είναι [9, 10 , 11, 12, 13, 14, 15]

Μία λίστα περιλαμβάνει αριθμούς, αρχίζει από τον πρώτο και φτάνει μέχρι τον τελευταίο χωρίς να περιλαμβάνει τον τελευταίο και κάθε αριθμός είναι κατά 1 μονάδα μεγαλύτερος από τον προηγούμενο (βήμα).

Αν εξαλείψουμε τον πρώτο αριθμός έχουμε το ίδιο αποτέλεσμα με το να γράφαμε μηδέν

>>> list(range(5)) # είναι το ίδιο με 

>>> list(range(0,5))

Τι άλλο μπορούμε να κάνουμε με τη range; Να αλλάξουμε το βήμα.

δοκιμάστε την ακόλουθη εντολή

>>> list(range(2,20,3))

Η πρώτη τιμή είναι το 2, η επόμενη είναι το 5 (2+3), η επόμενη είναι το 8 (5+3) .... και η τελευταία είναι το 17, το 20 δεν περιλαμβάνεται στη λίστα)

Ως άσκηση δοκιμάστε τον ακόλουθο κώδικα και πριν την εκτέλεση του προβλέψτε το αποτέλεσμα:

>>> list(range(1,9,2))

>>> list(range(7))

>>> list(range(7,17,4))

Σαν άσκηση γράψτε μία εντολή range που έχει 10 αριθμούς.
Φυσικά η ευκολότερη εκδοχή είναι η range(10). Εμφανίστε τα περιεχόμενα της με την εντολή:

>>> list(range(10))