Μάθημα : Προγραμματισμός στην Python

1701050396 - ΜΙΧΑΗΛ ΣΦΥΡΑΚΗΣ

Ενότητες μαθήματος

Ενότητα 4 - Εντολές Επανάληψης For και While

Σε αυτη την ενότητα θα ανακαλύψουμε τη δύναμη της αυτοματοποίησης, μαθαίνοντας πώς να διατάζουμε τον υπολογιστή να εκτελεί κουραστικές ή επαναλαμβανόμενες εργασίες μέσα σε ελάχιστα δευτερόλεπτα!
Συγκεκριμένα, η ενότητα περιλαμβάνει:
  • Την έννοια των Loops (Επαναλήψεων): Πώς λειτουργεί η επανάληψη στον προγραμματισμό και πώς μπορούμε να τη φανταστούμε σαν οδηγίες προς ένα ρομπότ-βοηθό στο σπίτι μας.
  • Την εντολή for: Πώς επαναλαμβάνουμε έναν κώδικα για έναν προκαθορισμένο αριθμό φορών και πώς ρυθμίζουμε τη μέτρηση χρησιμοποιώντας το σημείο έναρξης (start), το όριο (stop) και το βήμα (step) της συνάρτησης range().
  • Την εντολή while: Πώς φτιάχνουμε επαναλήψεις που συνεχίζονται «όσο» μια συνθήκη παραμένει αληθής, ιδανικές για περιπτώσεις όπου δεν γνωρίζουμε από πριν πόσες φορές θα χρειαστεί να τρέξει ο κώδικας.
  • Την παγίδα του Infinite Loop: Τι είναι η ατέρμονη επανάληψη, γιατί κάνει τα προγράμματα να «κολλάνε» και πώς μπορούμε να την αποφύγουμε αλλάζοντας σωστά τις μεταβλητές μας.
Μέσα από πρακτικές δραστηριότητες στο εργαστήριο, όπως η αυτόματη εκτύπωση της προπαίδειας, οι αντίστροφες μετρήσεις και τα παιχνίδια που μας ρωτάνε μέχρι να δώσουμε τη σωστή απάντηση, θα δούμε πώς οι επαναλήψεις κάνουν τον κώδικά μας πιο σύντομο, έξυπνο και πανίσχυρο!

Η έννοια των επαναλήψεων (loops)

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

 

Τι είναι οι εντολές For και While

Σκεφτείτε ότι έχετε ένα ρομπότ στο σπίτι και θέλετε να του δώσετε οδηγίες για να κάνει δουλειές:
  • Εντολή For: Αυτή η εντολή μάς βοηθά να επαναλάβουμε ένα συγκεκριμένο μπλοκ κώδικα για έναν συγκεκριμένο αριθμό φορών. Είναι σαν να λες στο ρομπότ: «Καθάρισε το πάτωμα ακριβώς 5 φορές».
  • Εντολή While: Αυτή η εντολή μάς βοηθά να επαναλάβουμε έναν κώδικα μέχρι να ικανοποιηθεί μια συγκεκριμένη συνθήκη (εδώ δεν ξέρουμε από πριν τον ακριβή αριθμό των επαναλήψεων). Είναι σαν να λες στο ρομπότ: «Συνέχισε να μαζεύεις τα σκουπίδια στο πάτωμα ΜΕΧΡΙ να μην μεινει κανένα» (θα σταματήσει μόνο όταν η συνθήκη «υπάρχουν σκουπίδια στο πάτωμα» γίνει ψευδής).

Η εντολή For στην Python

Η εντολή for συντάσσεται ως εξής:

for variable in range(start, stop, step):    

      # κώδικας που θα επαναλαμβάνεται 

Ας το αναλύσουμε:
  • Variable: Είναι μια μεταβλητή (ένα όνομα) που λειτουργεί ως σύμβολο κράτησης θέσης. Η τιμή της θα αλλάζει αυτόματα κάθε φορά που επαναλαμβάνεται ο κώδικας.
  • Start: Ο αριθμός από όπου θέλουμε να ξεκινήσει η μέτρηση.
  • Stop: Ο αριθμός όπου θέλουμε να σταματήσει η επανάληψη. Προσοχή: Η Python σταματάει πάντα έναν αριθμό πριν το Stop (δηλαδή στο stop - 1).
  • Step: Η τιμή με την οποία αλλάζει η μεταβλητή (το βήμα της μέτρησης) κάθε φορά που επαναλαμβάνεται ο κώδικας.

Ακολουθεί ένα παράδειγμα για το πώς μπορούμε να χρησιμοποιήσουμε την εντολή for στην Python:

for number in range(1, 6, 1):    

      print(number) 

Σε αυτό το παράδειγμα, ο κώδικας θα εκτυπώσει τους αριθμούς από το 1 έως το 5. Η μεταβλητή number θα λάβει διαδοχικά τις τιμές 1, 2, 3, 4, 5 και η εντολή print() θα εκτελεστεί για καθεμία από αυτές. Μόλις η Python φτάσει στο 6 (το Stop), σταματάει και βγαίνει από την επανάληψη.
 
Σημείωση: Αν θέλουμε απλά να επαναλάβουμε κάτι π.χ. 5 φορές ξεκινώντας από το 0, μπορούμε να γράψουμε σύντομα for i in range(5):. Η Python θα παράγει αυτόματα τους αριθμούς 0, 1, 2, 3, 4.

 

Η εντολή While στην Python

Η εντολή while συντάσσεται ως εξής:

while condition:    

      # κώδικας που θα επαναλαμβάνεται 

Ας το αναλύσουμε:
  • Condition: Αυτή είναι μια λογική συνθήκη (μια σύγκριση) που πρέπει να είναι αληθής (True) για να συνεχιστεί η επανάληψη. Μόλις η συνθήκη γίνει ψευδής (False), η επανάληψη σταματάει αμέσως.

Ακολουθεί ένα παράδειγμα για το πώς μπορούμε να χρησιμοποιήσουμε την εντολή while στην Python:

count = 1 

while count <= 5:

       print(count)

       count = count + 1 

Σε αυτό το παράδειγμα, ο κώδικας θα εκτυπώσει τους αριθμούς από το 1 έως το 5.
  1. Ξεκινάμε με τη μεταβλητή count = 1.
  2. Η while ελέγχει αν το 1 <= 5. Επειδή είναι αληθές, μπαίνει μέσα, εκτυπώνει το 1 και η εντολή count = count + 1 αυξάνει την τιμή της μεταβλητής κατά 1 (άρα το count γίνεται 2).
  3. Η διαδικασία αυτή επαναλαμβάνεται. Όταν το count γίνει 6, η συνθήκη 6 <= 5 γίνεται ψευδής (False), οπότε η επανάληψη σταματάει.
⚠️ Προσοχή! Αν ξεχάσουμε να αλλάξουμε την τιμή της μεταβλητής μέσα στο loop (δηλαδή αν παραλείψουμε τη γραμμή count = count + 1), η συνθήκη θα παραμένει πάντα αληθής. Αυτό ονομάζεται Ατέρμονη Επανάληψη (Infinite Loop) και κάνει το πρόγραμμα να κολλάει εκτελώντας την ίδια εντολή για πάντα!
 

Πρακτική Δραστηριότητα στο Εργαστήριο

Ήρθε η ώρα να ανοίξετε το Thonny και να εξασκηθείτε στη χρήση των loops! Δοκιμάστε να γράψετε τα παρακάτω προγράμματα:
1. Δραστηριότητες για την εντολή For:
  • 1.1. Γράψτε ένα πρόγραμμα που εκτυπώνει τους ζυγούς αριθμούς από το 0 έως το 10 χρησιμοποιώντας την εντολή for (Σκέψου: τι βήμα/step πρέπει να βάλεις;).
  • 1.2. Γράψτε ένα πρόγραμμα που ζητάει από τον χρήστη έναν αριθμό (π.χ. το 5) και εκτυπώνει την προπαίδειά του από το 1 έως το 10 χρησιμοποιώντας την εντολή for.
2. Δραστηριότητες για την εντολή While:
  • 2.1. Γράψτε ένα πρόγραμμα που μετράει αντίστροφα από το 10 έως το 1 χρησιμοποιώντας την εντολή while.
  • 2.2. Γράψτε ένα πρόγραμμα που ζητάει συνεχώς από τον χρήστη να εισαγάγει έναν αριθμό και σταματάει να τον ρωτάει μόνο όταν ο αριθμός που θα δώσει είναι μεγαλύτερος από 10.