Ο βρόχος “for” χρησιμοποιείται για να επαναλάβει μια σειρά εντολών για κάθε στοιχείο σε ένα αντικείμενο που περιέχει πολλά στοιχεία. Μπορεί να εφαρμοστεί σε διάφορους τύπους δομών δεδομένων, όπως λίστες, πλειάδια, λεξικά, σύνολα ή ακόμη και συμβολοσειρές.

Κατά τη διάρκεια κάθε επανάληψης του βρόχου, ένα στοιχείο από το αντικείμενο επιλέγεται και η σειρά εντολών εκτελείται για αυτό το στοιχείο. Όταν ολοκληρωθεί η εκτέλεση των εντολών για το τελευταίο στοιχείο, ο βρόχος τερματίζει.

Η χρήση του βρόχου “for” μας επιτρέπει να εκτελέσουμε επαναλαμβανόμενες εργασίες για κάθε στοιχείο του αντικειμένου, επιτυγχάνοντας έτσι έναν ευέλικτο και αποτελεσματικό τρόπο προγραμματισμού.

Ένα παράδειγμα:

fruits = ["apple", "banana", "cherry"]

# Επανάληψη μέσω των στοιχείων της λίστας
for x in fruits:
    # Εκτύπωση του τρέχοντος στοιχείου
    print(x)

Ο βρόχος “for” χρησιμοποιείται για τη διάσχιση των στοιχείων μιας λίστας. Σε κάθε επανάληψη, το τρέχον στοιχείο αποθηκεύεται στη μεταβλητή “x”. Στη συνέχεια, το τρέχον στοιχείο εκτυπώνεται.

Στην Python, ο βρόχος “for” δεν απαιτεί την προηγούμενη δήλωση μιας μεταβλητής δείκτη. Αυτό σημαίνει ότι δεν χρειάζεται να δηλώσουμε μια μεταβλητή που θα χρησιμοποιηθεί ως δείκτης για το στοιχείο του αντικειμένου που διατρέχεται ο βρόχος. Η Python έχει τη δυνατότητα να αντιληφθεί αυτόματα το στοιχείο που πρέπει να διατρέξει σε κάθε επανάληψη του βρόχου “for”.

Ένα παράδειγμα:

fruits = ["apple", "banana", "cherry"]

# Επανάληψη για κάθε φρούτο στη λίστα
for fruit in fruits:
    # Εκτύπωση του φρούτου
    print(fruit)

Ο βρόχος “for” εκτελείται για κάθε στοιχείο (φρούτο) της λίστας “fruits”. Σε κάθε επανάληψη, το τρέχον φρούτο αποθηκεύεται στη μεταβλητή “fruit”. Έπειτα, το φρούτο εκτυπώνεται στην οθόνη.

[adinserter block=”2″]

Οι συμβολοσειρές στην Python είναι αντικείμενα που μπορούμε να τις διατρέξουμε χρησιμοποιώντας τον βρόχο “for”. Καθώς οι συμβολοσειρές αποτελούνται από μια ακολουθία χαρακτήρων, μπορούμε να προσπελάσουμε και να επεξεργαστούμε κάθε χαρακτήρα ξεχωριστά.

Ένα παράδειγμα:

my_string = "Hello, World!"

# Επανάληψη για κάθε χαρακτήρα στο my_string
for char in my_string:
    # Εκτύπωση του τρέχοντος χαρακτήρα
    print(char)

Ο βρόχος “for” εκτελείται για κάθε χαρακτήρα στο my_string. Σε κάθε επανάληψη, ο τρέχων χαρακτήρας εκτυπώνεται στην οθόνη.

Χρησιμοποιώντας την εντολή “break” μπορούμε να διακόψουμε την εκτέλεση ενός βρόχου πριν ολοκληρωθεί η επανάληψη όλων των στοιχείων.

Ένα παράδειγμα:

fruits = ["apple", "banana", "cherry"]

# Επανάληψη για κάθε φρούτο στη λίστα fruits
for fruit in fruits:
    print(fruit)  # Εκτύπωση του φρούτου

    # Έλεγχος αν το φρούτο είναι "banana"
    if fruit == "banana":
        break  # Έξοδος από την επανάληψη αν το φρούτο είναι "banana"

Ο παραπάνω κώδικας εκτελεί τις παρακάτω ενέργειες:

  1. Αρχικοποιεί τις μεταβλητές fruits, x και y.
  2. Ξεκινά μια επανάληψη για κάθε στοιχείο fruit στη λίστα fruits.
  3. Εκτυπώνει το κάθε fruit.
  4. Ελέγχει εάν το fruit είναι ίσο με την τιμή "banana".
  5. Εάν το fruit είναι ίσο με "banana", τότε εκτελεί την δήλωση break, η οποία έχει ως αποτέλεσμα την άμεση έξοδο από την επανάληψη.
  6. Μετά την έξοδο από την επανάληψη, ο κώδικας συνεχίζει με τις επόμενες εντολές που ακολουθούν μετά τον βρόχο.

Έτσι, ο κώδικας εκτυπώνει τα στοιχεία της λίστας fruits και σταματά την επανάληψη όταν συναντήσει το στοιχείο "banana".

Με την εντολή “continue” μπορούμε να σταματήσουμε την τρέχουσα επανάληψη του βρόχου και να συνεχίσουμε με την επόμενη:

Ένα παράδειγμα:

fruits = ["apple", "banana", "cherry"]

# Επανάληψη για κάθε φρούτο στη λίστα fruits
for fruit in fruits:
    if fruit == "banana":  # Έλεγχος αν το φρούτο είναι "banana"
        continue  # Αν το φρούτο είναι "banana", προχωράμε στην επόμενη επανάληψη χωρίς να εκτελεστεί το υπόλοιπο κομμάτι του κώδικα
    print(fruit)  # Εκτύπωση του φρούτου αν δεν είναι "banana"

Ο παραπάνω κώδικας εκτελεί την ακόλουθη λειτουργία:

  1. Ορίζει μια λίστα fruits που περιέχει τρία φρούτα: “apple”, “banana” και “cherry”.
  2. Ξεκινά μια επανάληψη (for fruit in fruits) για κάθε φρούτο στη λίστα fruits.
  3. Εντός της επανάληψης, υπάρχει μια συνθήκη if fruit == "banana" που ελέγχει αν το τρέχον φρούτο είναι η “banana”.
  4. Αν η συνθήκη είναι αληθής, τότε εκτελείται η εντολή continue, η οποία προκαλεί την άμεση μετάβαση στην επόμενη επανάληψη χωρίς να εκτελεστεί το υπόλοιπο του κώδικα μέσα στην τρέχουσα επανάληψη.
  5. Αν η συνθήκη είναι ψευδής ή αν εκτελεστεί η εντολή continue, τότε εκτελείται η εντολή print(fruit), η οποία εκτυπώνει το τρέχον φρούτο.
  6. Οι παραπάνω βήματα επαναλαμβάνονται για κάθε φρούτο στη λίστα fruits, με εξαίρεση την “banana” όπου η εντολή print(fruit) δεν εκτελείται λόγω της εντολής continue.
  7. Έτσι, θα εκτυπωθούν τα φρούτα “apple” και “cherry” καθώς αυτά δεν ικανοποιούν τη συνθήκη if fruit == "banana".

Για να επαναλάβουμε ένα τμήμα κώδικα για ένα συγκεκριμένο αριθμό φορών, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση range() στην Python.

[adinserter block=”3″]

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

Μερικά παραδείγματα:

# Επανάληψη 5 φορές
for i in range(5):
    print(i)  # Εκτύπωση της μεταβλητής i, η οποία παίρνει τις τιμές 0, 1, 2, 3, 4

# Επανάληψη 2 έως 5
for i in range(2, 6):
    print(i)  # Εκτύπωση της μεταβλητής i, η οποία παίρνει τις τιμές 2, 3, 4, 5

# Επανάληψη αυξάνοντας κατά 2
for i in range(0, 10, 2):
    print(i)  # Εκτύπωση της μεταβλητής i, η οποία παίρνει τις τιμές 0, 2, 4, 6, 8

Ο κώδικας πραγματοποιεί τρεις διαφορετικές επαναλήψεις. Ας το αναλύσουμε αναλυτικά:

  1. Επανάληψη 5 φορές:
    Με τη χρήση της εντολής for και της συνάρτησης range(5), η μεταβλητή i θα παίρνει τις τιμές 0, 1, 2, 3, 4. Κατά τη διάρκεια κάθε επανάληψης, η τιμή της i εκτυπώνεται στην οθόνη.
  2. Επανάληψη από 2 έως 5:
    Με τη χρήση της εντολής for και της συνάρτησης range(2, 6), η μεταβλητή i θα παίρνει τις τιμές 2, 3, 4, 5. Κατά τη διάρκεια κάθε επανάληψης, η τιμή της i εκτυπώνεται στην οθόνη.
  3. Επανάληψη αυξάνοντας κατά 2:
    Με τη χρήση της εντολής for και της συνάρτησης range(0, 10, 2), η μεταβλητή i θα παίρνει τις τιμές 0, 2, 4, 6, 8. Κατά τη διάρκεια κάθε επανάληψης, η τιμή της i εκτυπώνεται στην οθόνη.

Έτσι, συνολικά, ο κώδικας εκτυπώνει στην οθόνη τις τιμές 0, 1, 2, 3, 4, 2, 3, 4, 5, 0, 2, 4, 6, 8.

Η συνάρτηση range() χρησιμοποιείται για να δημιουργήσει μια ακολουθία αριθμών με βάση τα δοθέντα όρια. Αν δεν καθορίσετε αρχική τιμή, η προεπιλεγμένη τιμή είναι το 0. Ωστόσο, μπορείτε να ορίσετε μια αρχική τιμή παρέχοντας ένα πρώτο όρισμα στη συνάρτηση range(). Για παράδειγμα, range(2, 6) σημαίνει ότι θα δημιουργηθεί μια ακολουθία αριθμών από το 2 έως το 6 (μη συμπεριλαμβανομένου του 6).

Παράδειγμα:

# Επανάληψη για τιμές του x από 2 έως 5
for x in range(2, 6):
  print(x)  # Εκτύπωση της τρέχουσας τιμής του x - 2,3,4,5

Ο παραπάνω κώδικας εκτελεί μια επανάληψη για τιμές του x από 2 έως 5. Κατά τη διάρκεια κάθε επανάληψης, η τρέχουσα τιμή του x εκτυπώνεται στην οθόνη.

Χρησιμοποιώντας τη συνάρτηση range() με τρία ορίσματα, μπορούμε να καθορίσουμε το βήμα αύξησης μεταξύ των τιμών που δημιουργείται η ακολουθία. Για παράδειγμα, η έκφραση range(2, 30, 3) θα δημιουργήσει μια ακολουθία αριθμών που ξεκινά από το 2, αυξάνεται κατά 3 κάθε φορά και τερματίζει πριν το 30.

Έτσι, η ακολουθία που θα δημιουργηθεί θα περιλαμβάνει τους εξής αριθμούς: 2, 5, 8, 11, 14, 17, 20, 23, 26, 29. Το βήμα αυξάνεται κατά 3 κάθε φορά, με αποτέλεσμα να προκύπτουν τα παραπάνω στοιχεία.

Παράδειγμα:

for x in range(2, 30, 3):
  print(x)  # Εκτύπωση της τιμής της μεταβλητής x σε κάθε επανάληψη του βρόχου

# Ο βρόχος for εκτελείται για τιμές της μεταβλητής x από 2 μέχρι 30 με βήμα 3.
# Κάθε φορά που εκτελείται ο βρόχος, η τιμή της μεταβλητής x εκτυπώνεται.

Ο παραπάνω κώδικας εκτελεί έναν βρόχο for που επαναλαμβάνεται από τον αριθμό 2 μέχρι τον αριθμό 30 με βήμα 3. Σε κάθε επανάληψη, η τιμή της μεταβλητής x εκτυπώνεται στην οθόνη.

Συγκεκριμένα, ο βρόχος θα εκτελεστεί για τις τιμές: 2, 5, 8, 11, 14, 17, 20, 23, 26, 29. Κατά τη διάρκεια κάθε επανάληψης, η τρέχουσα τιμή της μεταβλητής x θα εκτυπωθεί.

[adinserter block=”4″]

Η σύνταξη “else” σε έναν βρόχο “for” στην Python καθορίζει ένα τμήμα κώδικα που εκτελείται μετά την ολοκλήρωση της επανάληψης, αν και μόνο εάν η επανάληψη ολοκληρωθεί κανονικά, δηλαδή χωρίς να διακοπεί από τη χρήση της δήλωσης “break”. Ο κώδικας που βρίσκεται μέσα στο “else” θα εκτελεστεί ακόμη και αν η επανάληψη έχει ολοκληρωθεί με την τελευταία επιτυχημένη επανάληψη.

Παράδειγμα:

Να εμφανιστούν όλα τα αριθμά από τη λίστα με τους παραπάνω από 5, και στο τέλος να εμφανιστεί το μήνυμα “Τέλος λίστας”.

numbers = [2, 3, 5, 8, 10]  # Αρχικοποίηση της λίστας numbers με τις τιμές 2, 3, 5, 8, 10

# Επανάληψη για κάθε στοιχείο x στη λίστα numbers
for x in numbers:
  if x <= 5:  # Έλεγχος αν το στοιχείο είναι μικρότερο ή ίσο με 5
    continue  # Προχωράμε στο επόμενο στοιχείο χωρίς να εκτελεστεί οποιοδήποτε κώδικας που ακολουθεί
  print(x)  # Εκτύπωση του στοιχείου x, εφόσον δεν ισχύει η συνθήκη x <= 5
else:
  print("Τέλος λίστας")  # Εκτύπωση μηνύματος "Τέλος λίστας" μετά την ολοκλήρωση της επανάληψης

Ο παραπάνω κώδικας πραγματοποιεί τις εξής ενέργειες:

  1. Δημιουργείται μια λίστα με τις τιμές [2, 3, 5, 8, 10].
  2. Ξεκινά μια επανάληψη για κάθε στοιχείο x στη λίστα.
  3. Ελέγχεται εάν το στοιχείο x είναι μικρότερο ή ίσο με 5. Εάν ισχύει αυτή η συνθήκη, τότε παραλείπεται η εκτέλεση του επόμενου κώδικα και προχωράμε στο επόμενο στοιχείο της λίστας.
  4. Εάν η συνθήκη δεν ισχύει, τότε εκτυπώνεται το στοιχείο x.
  5. Όταν ολοκληρωθεί η επανάληψη για όλα τα στοιχεία της λίστας, εκτελείται η εντολή print("Τέλος λίστας"), που εμφανίζει το μήνυμα “Τέλος λίστας” στην οθόνη.

Συνολικά, ο κώδικας εκτυπώνει όλα τα στοιχεία της λίστας που είναι μεγαλύτερα από 5 και, μετά την ολοκλήρωση της επανάληψης, εμφανίζει το μήνυμα “Τέλος λίστας”.

Παράδειγμα: Εκτυπώστε όλους τους αριθμούς από το 8 έως το 13, και εκτυπώστε ένα μήνυμα όταν ο βρόχος έχει τελειώσει.

for x in range(8, 14):  # Επανάληψη για τις τιμές x από 8 έως 13
  print(x)  # Εκτύπωση της τρέχουσας τιμής του x

else:
  print("The loop has ended!")  # Εκτύπωση μηνύματος "The loop has ended!" όταν ολοκληρωθεί η επανάληψη

Ο παραπάνω κώδικας εκτελεί την επανάληψη for για τις τιμές του x από 8 έως 13. Κατά τη διάρκεια κάθε επανάληψης, η τρέχουσα τιμή του x εκτυπώνεται. Όταν ολοκληρωθεί η επανάληψη, εκτελείται η δήλωση else και εμφανίζεται το μήνυμα “The loop has ended!”.

Συνολικά, ο κώδικας εκτυπώνει τις τιμές του x από 8 έως 13 και στο τέλος εμφανίζει το μήνυμα ότι η επανάληψη ολοκληρώθηκε.

Παράδειγμα:

for x in range(8, 14):  # Επανάληψη για τις τιμές x από 8 έως 13
    print(x)  # Εκτύπωση της τρέχουσας τιμής του x
    if x == 9:  # Έλεγχος αν η τιμή του x είναι ίση με 9
        break  # Έξοδος από την επανάληψη αν η συνθήκη ικανοποιείται
else:
    print("Loop completed normally")  # Εκτύπωση μηνύματος αν η επανάληψη ολοκληρωθεί κανονικά
print("Loop has been broken")  # Εκτύπωση μηνύματος μετά τον τερματισμό της επανάληψης

Ο παραπάνω κώδικας εκτελεί την ακόλουθη λειτουργία:

  1. Αρχικοποιείται μια μεταβλητή x με την αρχική τιμή 8.
  2. Ξεκινά μια επανάληψη for που εκτελείται για τις τιμές του x από 8 έως 13.
  3. Σε κάθε επανάληψη, η τρέχουσα τιμή του x εκτυπώνεται.
  4. Έχει τοποθετηθεί ένας έλεγχος if για να ελεγχθεί αν η τρέχουσα τιμή του x είναι ίση με 9.
  5. Αν η συνθήκη είναι αληθής, τότε εκτελείται η εντολή break και η επανάληψη διακόπτεται.
  6. Αν η συνθήκη είναι ψευδής και η επανάληψη ολοκληρωθεί κανονικά, τότε εκτυπώνεται το μήνυμα “Loop completed normally”.
  7. Αμέσως μετά το τέλος της επανάληψης, εκτυπώνεται το μήνυμα “Loop has been broken”.

Συνολικά, ο κώδικας εκτελεί μια επανάληψη για τιμές του x από 8 έως 13, εκτυπώνοντας την τρέχουσα τιμή. Όταν η τιμή του x γίνει ίση με 9, η επανάληψη διακόπτεται με τη χρήση της εντολής break. Αν η επανάληψη ολοκληρωθεί κανονικά χωρίς τη χρήση του break, εκτυπώνεται το μήνυμα “Loop completed normally”. Στο τέλος, εκτυπώνεται το μήνυμα “Loop has been broken”.

Μια εμφωλευμένη επανάληψη είναι μια επανάληψη που βρίσκεται εντός μιας άλλης επανάληψης. Κατά την εκτέλεση, η “εσωτερική επανάληψη” επαναλαμβάνεται για κάθε επανάληψη της “εξωτερικής επανάληψης”.

Παράδειγμα στην Python:

fruits = ["apple", "banana", "cherry"]  # Αρχικοποίηση λίστας με φρούτα
adj = ["red", "big", "tasty"]  # Αρχικοποίηση λίστας με επίθετα

# Επανάληψη για κάθε φρούτο στη λίστα fruits
for x in fruits:
  # Επανάληψη για κάθε επίθετο στη λίστα adj
  for y in adj:
    print(y, x)  # Εκτύπωση του επιθέτου και του φρούτου

Ο παραπάνω κώδικας εκτελεί την εμφάνιση όλων των πιθανών συνδυασμών μεταξύ των φρούτων και των επιθέτων που δίνονται στις λίστες fruits και adj αντίστοιχα.

Με τη χρήση δύο εμφωλευμένων βρόχων for, ο κώδικας εξετάζει κάθε φρούτο (x) από τη λίστα fruits και κάθε επίθετο (y) από τη λίστα adj. Στη συνέχεια, εκτυπώνει το επίθετο και το φρούτο με τη χρήση της εντολής print(y, x).

[adinserter block=”5″]

Έτσι, ο κώδικας εμφανίζει όλους τους πιθανούς συνδυασμούς μεταξύ των φρούτων και των επιθέτων, παράγοντας την έξοδο στην οθόνη:

red apple
big apple
tasty apple
red banana
big banana
tasty banana
red cherry
big cherry
tasty cherry

Κάθε γραμμή της έξοδου αντιπροσωπεύει έναν συνδυασμό επιθέτου και φρούτου.

Οι επαναληπτικές δομές for δεν μπορούν να είναι κενές, αλλά σε περιπτώσεις όπου χρειάζεται να ορίσετε ένα for loop χωρίς περιεχόμενο, μπορείτε να χρησιμοποιήσετε τη δήλωση pass για να αποφύγετε την εμφάνιση ενός σφάλματος συντακτικού.

Η δήλωση pass χρησιμοποιείται ως μια “μηδενική εντολή” και δεν παράγει κανένα αποτέλεσμα. Είναι χρήσιμη όταν ο κώδικας απαιτεί μια εντολή για συντακτικούς λόγους, αλλά δεν χρειάζεται να εκτελεστεί κάτι συγκεκριμένο.

Έτσι, μπορείτε να προσθέσετε τη δήλωση pass μέσα σε ένα for loop που δεν έχει περιεχόμενο για να αποφύγετε το σφάλμα.

Παράδειγμα:

fruits = ["apple", "banana", "cherry"]

# Επανάληψη μέσω των στοιχείων της λίστας fruits
for x in fruits:
  pass  # Ενεργοποίηση μιας "κενής" εντολής (pass), χωρίς επιπτώσεις, για κάθε στοιχείο της λίστας

Ο κώδικας πραγματοποιεί μια επανάληψη μέσω των στοιχείων της λίστας fruits. Κάθε στοιχείο της λίστας αποθηκεύεται στη μεταβλητή x, αλλά δεν εκτελείται κάποια ενέργεια μέσα στη βρόχο. Η εντολή pass χρησιμοποιείται για να εισαχθεί μια κενή εντολή, η οποία δεν έχει καμία επίπτωση. Έτσι, ο κώδικας πρακτικά δεν εκτελεί κάποια ενέργεια για κάθε στοιχείο της λίστας fruits.

5 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων