Μετάβαση στο περιεχόμενο

Βρόχοι στην Python

for με range, while, και ο αθροιστής που μαζεύει.

40 λεπτά

Θα μάθεις να

  1. Να γράφεις βρόχους for με range και να προβλέπεις ποιες τιμές παίρνει ο μετρητής.
  2. Να γράφεις βρόχους while και να εξηγείς πότε σταματούν.
  3. Να χρησιμοποιείς αθροιστή και μετρητή μέσα σε βρόχο.
  4. Να συμπληρώνεις πίνακα τιμών για έναν βρόχο, βήμα βήμα.

Επανάληψη χωρίς αντιγραφή

Θέλεις να τυπώσεις «Γεια» πέντε φορές. Μπορείς να γράψεις πέντε φορές την ίδια print. Για εκατό φορές όμως, ή για «όσες φορές δώσει ο χρήστης», αυτό δεν γίνεται.

Στο Scratch υπήρχαν τα πλακίδια «επανάλαβε 10» και «επανάλαβε μέχρι». Στον ψευδοκώδικα, ΓΙΑ και ΟΣΟ. Στην Python οι δύο δομές επανάληψης (βρόχοι, loops) είναι το for και το while.

Ο βρόχος for και η range

for i in range(5):
    print("Γεια", i)
Γεια 0
Γεια 1
Γεια 2
Γεια 3
Γεια 4

Η μεταβλητή i λέγεται μεταβλητή ελέγχου: σε κάθε επανάληψη παίρνει την επόμενη τιμή από τη range. Όπως στο if, η γραμμή τελειώνει με : και ό,τι επαναλαμβάνεται γράφεται με εσοχή.

Η range έχει τρεις μορφές:

ΓράφειςΤιμέςΠόσες
range(5)0, 1, 2, 3, 455
range(1, 6)1, 2, 3, 4, 555
range(2, 11, 2)2, 4, 6, 8, 1055
range(10, 0, -3)10, 7, 4, 144

Το τρίτο όρισμα είναι το βήμα. Μπορεί να είναι και αρνητικό, για αντίστροφη μέτρηση.

Ο αθροιστής

Ένα από τα πιο συνηθισμένα μοτίβα στον προγραμματισμό: μια μεταβλητή που ξεκινά από το μηδέν και μαζεύει τιμές σε κάθε επανάληψη.

synolo = 0
for i in range(1, 6):
    synolo = synolo + i
print("Άθροισμα:", synolo)
Άθροισμα: 15

Πίνακας τιμών: ο αθροιστής βήμα βήμα

Πες δυνατά την επόμενη γραμμή πριν πατήσεις.

ΒήμαΕπανάληψηisynolo πρινsynolo μετά
Ζωντανή ενημέρωση

Το synolo = synolo + i γράφεται και σύντομα ως synolo += i. Αν αλλάξεις το range(1, 6) σε range(1, 101), παίρνεις το άθροισμα από 11 έως 100100, που είναι 50505050.

Ο μετρητής είναι ο ίδιος μηχανισμός, αλλά προσθέτει πάντα 11 και συνήθως μόνο όταν ισχύει μια συνθήκη. Πόσα πολλαπλάσια του 33 υπάρχουν από 11 ως 3030;

metritis = 0
for i in range(1, 31):
    if i % 3 == 0:
        metritis = metritis + 1
print(metritis)

Τυπώνει 10. Πρόσεξε τις δύο εσοχές: το if είναι μέσα στο for, και η αύξηση είναι μέσα στο if.

Ο βρόχος while

Το for ταιριάζει όταν ξέρεις από πριν πόσες επαναλήψεις θέλεις. Όταν δεν το ξέρεις, όταν ξέρεις μόνο πότε πρέπει να σταματήσεις, χρησιμοποιείς while.

x = 1
while x < 100:
    x = x * 3
print(x)

Το while ελέγχει τη συνθήκη πριν από κάθε επανάληψη. Όσο είναι αληθής, εκτελεί το σώμα. Εδώ το x γίνεται 3,9,27,81,2433, 9, 27, 81, 243. Όταν φτάσει στο 243243, η συνθήκη 243 < 100 είναι ψευδής και ο βρόχος σταματά. Τυπώνεται 243.

Αν η συνθήκη είναι ψευδής από την αρχή, το σώμα δεν εκτελείται ούτε μία φορά.

Τιμή-φρουρός

Ένα while διαβάζει συχνά τιμές από τον χρήστη μέχρι να δώσει μια ειδική τιμή που σημαίνει «τέλος», τη φρουρό (sentinel).

synolo = 0
plithos = 0
vathmos = int(input("Βαθμός (0 για τέλος): "))
while vathmos != 0:
    synolo = synolo + vathmos
    plithos = plithos + 1
    vathmos = int(input("Βαθμός (0 για τέλος): "))
print("Μέσος όρος:", synolo / plithos)

Με εισόδους 17, 12, 19 και 0, τυπώνει Μέσος όρος: 16.0. Το μηδέν δεν μετράει στον μέσο όρο: ο βρόχος το διαβάζει, ελέγχει τη συνθήκη και σταματά πριν το προσθέσει.

Λυμένα παραδείγματα

Παράδειγμα 1

Έχεις 50 ευρώ και βάζεις στην άκρη 20 ευρώ κάθε εβδομάδα. Σε πόσες εβδομάδες θα έχεις τουλάχιστον 200 ευρώ;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Παράδειγμα 2

Πόσα ψηφία έχει ο αριθμός 2026; Γράψε βρόχο που τα μετρά χωρίς να μετατρέψει τον αριθμό σε κείμενο.

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Ασκήσεις

Πρώτα ερωτήσεις με επιλογές: διαλέγεις, πατάς «Έλεγξε» και μαθαίνεις αμέσως αν το βρήκες και γιατί. Στο τέλος, λίγες ασκήσεις χωρίς επιλογές — εκεί κρύβεται μόνο η απάντηση.

Πολλαπλή επιλογήΆσκηση 1 από 14
Πόσες φορές εκτελείται το σώμα του βρόχου for i in range(5):;

Τα κατάφερες;

  • Να γράφεις βρόχους for με range και να προβλέπεις ποιες τιμές παίρνει ο μετρητής.
  • Να γράφεις βρόχους while και να εξηγείς πότε σταματούν.
  • Να χρησιμοποιείς αθροιστή και μετρητή μέσα σε βρόχο.
  • Να συμπληρώνεις πίνακα τιμών για έναν βρόχο, βήμα βήμα.

Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.