Δήλωση while
Η δήλωση while
στην Python χρησιμοποιείται για να εκτελέσει ένα μπλοκ κώδικα επαναληπτικά όσο μια συγκεκριμένη συνθήκη είναι αληθής (True
). Η βασική μορφή της είναι:
while συνθήκη: # Κώδικας που εκτελείται επαναληπτικά
Παράδειγμα:
count = 0 while count < 5: print("count είναι λιγότερο από 5") count += 1 # Αυτό είναι σημαντικό για να αποφευχθεί ένας άπειρος βρόχος
Στο παράδειγμα αυτό, η εντολή print
θα εκτελεστεί 5 φορές, μέχρι η τιμή της count
να γίνει 5, και τότε η συνθήκη του while
θα γίνει ψευδής (False
).
Αναμενόμενο αποτέλεσμα:
count είναι λιγότερο από 5 count είναι λιγότερο από 5 count είναι λιγότερο από 5 count είναι λιγότερο από 5 count είναι λιγότερο από 5
Δήλωση for
Η δήλωση for
χρησιμοποιείται για επαναλήψεις (loops) σε μια σειρά από αντικείμενα, όπως λίστες, συμβολοσειρές, εύρη κ.α. Η βασική μορφή της είναι:
for μεταβλητή in συλλογή: # Κώδικας που εκτελείται για κάθε στοιχείο της συλλογής
Παράδειγμα:
for i in range(5): print("i έχει τιμή", i)
Εδώ, η range(5)
δημιουργεί μια σειρά αριθμών από το 0 έως το 4, και η δήλωση for
εκτελεί την εντολή print
για κάθε έναν από αυτούς τους αριθμούς.
Το αποτέλεσμα εκτέλεσης του κώδικα
i έχει τιμή 0 i έχει τιμή 1 i έχει τιμή 2 i έχει τιμή 3 i έχει τιμή 4
Και οι δύο δηλώσεις, while
και for
, είναι ισχυρά εργαλεία για τη διαχείριση επαναληπτικών εργασιών στην Python. Η επιλογή μεταξύ τους εξαρτάται από τη συγκεκριμένη λογική και τη δομή των δεδομένων που χρησιμοποιείτε.
Το όρισμα end της συνάρτησης print στην python
Η ενσωματωμένη συνάρτηση print
στην Python εμφανίζει τα επιχειρήματά της και στη συνέχεια μετακινεί τον κέρσορα στην επόμενη γραμμή. Αυτή η συμπεριφορά μπορεί να αλλάξει με τη χρήση του επιχειρήματος end
. Για παράδειγμα:
print(character, end=' ')
Εδώ, η print
θα εμφανίσει την τιμή της μεταβλητής character
ακολουθούμενη από δύο κενά διαστήματα. Έτσι, όλοι οι χαρακτήρες θα εμφανίζονται οριζόντια στην ίδια γραμμή.
Η Python αποκαλεί το end
ως ένα όρισμα κλειδί (keyword argument), αλλά το end
καθαυτό δεν είναι λέξη-κλειδί της Python. Τα ορίσματα κλειδιά είναι γνωστά επίσης ως ονομαστικά επιχειρήματα (named arguments). Το όρισμα κλειδί end
είναι προαιρετικό. Αν δεν το συμπεριλάβετε, η print
χρησιμοποιεί από προεπιλογή τον χαρακτήρα νέας γραμμής ('\n'
).
Το Επιχείρημα sep της Συνάρτησης print στην Python
Η συνάρτηση print
στην Python διαθέτει ένα επιχείρημα κλειδί με το όνομα sep
, το οποίο είναι συντομογραφία του “separator” (διαχωριστής). Αυτό το επιχείρημα χρησιμοποιείται για να καθορίσετε τη συμβολοσειρά που θα εμφανίζεται μεταξύ των αντικειμένων που εμφανίζει η print
. Όταν δεν καθορίζεται αυτό το επιχείρημα, η print
χρησιμοποιεί από προεπιλογή ένα κενό διάστημα.
Παράδειγμα με Χρήση του sep
Ας εμφανίσουμε τρία νούμερα, το καθένα διαχωρισμένο από το επόμενο με ένα κόμμα και ένα κενό, αντί μόνο για ένα κενό:
print(10, 20, 30, sep=', ')
Αυτή η εντολή θα εκτυπώσει 10, 20, 30
.
Αφαίρεση Προεπιλεγμένων Κενών
Για να αφαιρέσετε τα προεπιλεγμένα κενά διαστήματα, μπορείτε να χρησιμοποιήσετε sep=''
(δηλαδή μια κενή συμβολοσειρά):
print(10, 20, 30, sep='')
Αυτή η εντολή θα εκτυπώσει 102030
, διαχωρίζοντας τα αριθμητικά αντικείμενα χωρίς κανένα διαχωριστικό.
Η χρήση του sep
επιτρέπει μεγάλη ευελιξία στο πώς τα δεδομένα εμφανίζονται κατά την εκτύπωση, καθιστώντας τη print
ένα πολύ χρήσιμο εργαλείο για την εμφάνιση εξόδου στην Python.
Ακολουθίες, Λίστες και Επαναληπτές (Iterators) στην Python
Μια ακολουθία που χρησιμοποιείται στη δεξιά πλευρά του τελεστή in
μιας δήλωσης for
πρέπει να είναι επαναληπτική (iterable), δηλαδή ένα αντικείμενο από το οποίο η δήλωση for
μπορεί να λάβει ένα στοιχείο κάθε φορά, μέχρι να μην υπάρχουν άλλα στοιχεία. Η Python διαθέτει διάφορους τύπους επαναληπτικών ακολουθιών εκτός από τις συμβολοσειρές. Ένας από τους πιο κοινούς τύπους είναι η λίστα, η οποία είναι μια συλλογή αντικειμένων χωρισμένων με κόμμα και περικλεισμένων σε αγκύλες ([
και ]
).
Παράδειγμα με Λίστα
# Άθροισμα πέντε ακέραιων αριθμών σε λίστα numbers = [1, 2, 3, 4, 5] total = 0 for number in numbers: total += number print("Το άθροισμα είναι:", total)
Όταν τον εκτελέσετε, το αποτέλεσμα θα είναι:
Το άθροισμα είναι: 15
Ο βρόχος for
περνά από κάθε στοιχείο της λίστας numbers
και προσθέτει το στοιχείο στη μεταβλητή total
. Στο τέλος της επανάληψης, η μεταβλητή total
περιέχει το άθροισμα των αριθμών στη λίστα.
Επαναληπτές (Iterators)
Κάθε επαναληπτική ακολουθία έχει έναν επαναληπτή (iterator). Η δήλωση for
χρησιμοποιεί τον επαναληπτή “πίσω από τις κουλίσες” για να λάβει κάθε συνεχόμενο στοιχείο μέχρι να μην υπάρχουν άλλα για επεξεργασία. Ο επαναληπτής λειτουργεί σαν ένα σελιδοδείκτη – γνωρίζει πάντα πού βρίσκεται στην ακολουθία, ώστε να μπορεί να επιστρέψει το επόμενο στοιχείο όταν κληθεί να το κάνει.
Λίστες στην Python
Οι λίστες στην Python είναι επαναληπτικές, η σειρά των στοιχείων μέσα σε μια λίστα έχει σημασία και τα στοιχεία της λίστας είναι μεταβαλλόμενα (mutable), δηλαδή μπορούν να τροποποιηθούν. Οι λεπτομέρειες για τις λίστες και τις παραλλαγές τους θα καλυφθούν αναλυτικότερα σε κεφάλαια που ασχολούνται ειδικά με τις ακολουθίες, όπως λίστες και πλειάδες (tuples).
Η Ενσωματωμένη Συνάρτηση range στην Python
Η συνάρτηση range
στην Python είναι μια εξαιρετικά χρήσιμη ενσωματωμένη συνάρτηση που δημιουργεί μια ακολουθία αριθμών. Χρησιμοποιείται συχνά για να εκτελέσει επαναλήψεις (loops) με τις δηλώσεις for
και while
.
Βασική Χρήση
Η συνάρτηση range
μπορεί να κληθεί με διάφορους τρόπους:
- range(stop): Δημιουργεί μια ακολουθία αριθμών από το 0 μέχρι (αλλά όχι συμπεριλαμβανομένου) τον αριθμό stop.
for i in range(5): print(i) # Εκτυπώνει αριθμούς από το 0 έως το 4
- range(start, stop): Δημιουργεί μια ακολουθία από τον αριθμό start μέχρι (αλλά όχι συμπεριλαμβανομένου) τον αριθμό stop.
for i in range(1, 6): print(i) # Εκτυπώνει αριθμούς από το 1 έως το 5
- range(start, stop, step): Δημιουργεί μια ακολουθία αριθμών από τον αριθμό start μέχρι (αλλά όχι συμπεριλαμβανομένου) τον αριθμό stop, με βήμα step.
for i in range(0, 10, 2): print(i) # Εκτυπώνει αριθμούς από το 0 έως το 8 με βήμα 2 (0, 2, 4, 6, 8)
Χρήσεις της range
Η range
είναι ευρέως χρησιμοποιούμενη σε επαναληπτικές δομές όπως οι βρόχοι for
για να επαναλάβει μια δράση συγκεκριμένο αριθμό φορών. Είναι επίσης χρήσιμη στη δημιουργία λιστών αριθμών, καθώς και για την εκτέλεση μιας ενέργειας σε κάθε στοιχείο μιας ακολουθίας.
Η range
δημιουργεί ακολουθίες που είναι πολύ αποδοτικές σε χρήση μνήμης, καθώς δεν δημιουργεί όλους τους αριθμούς εκ των προτέρων, αλλά παράγει τον κάθε αριθμό κατά τη διάρκεια της επανάληψης. Αυτό καθιστά την range
ιδανική για διαχείριση μεγάλων εύρων αριθμών.