Εφόσον δεν έχεις καταλάβει τη κάνει το while, άσε αυτήν την άσκηση και ξανά διάβασε από την αρχή για να καταλάβεις πως δουλεύει και μετά ξανά γύρνα στο σημείο που είσαι. Σε καταλαβαίνω γιατί και εγώ σε αυτήν την ηλικία άρχισα python και είτε το πιστεύεις είτε όχι διάβασα το βιβλίο καμιά 20-αριά φορές μέχρι να το καταλάβω πλήρως άρα και εσύ δικαιολογημένα δεν κατάλαβες τη κάνει η while. Θυμάμαι και εγώ με πήρε κάνα χρόνο μέχρι να καταλάβω (στην κυριολεξία) τη κάνει το while, αλλά δεν είχα βοήθεια από κανέναν ούτε internet και βέβαια ήμουν εντελώς αρχάριος στον προγραμματισμό.
Λοιπόν για να σε βοηθήσω:
Το while είναι μια εντολή επανάληψης στην python όπου επαναλαμβάνει ένα κομμάτι κώδικα μέχρι να ικανοποιηθεί μια συνθήκη. Η σύνταξη της εντολής είναι ως εξής:
Όπου συνθήκη μπαίνει μια λογική έκφραση (πχ
x < 1) ή μια σταθερή λογική τιμή όπως
True
η
False ή ένας αριθμός όπου το
0 = False και οποιοσδήποτε άλλος αριθμός θεωρείται
True.
Οι εντολές για να βρίσκονται μέσα στην while πρέπει να απέχουν
τέσσερα ακριβώς κενά
από εκεί που αρχίζει η while.
Ας πάρουμε ένα παράδειγμα για να καταλάβεις καλύτερα πως δουλεύει:
count = 5
while count > 0:
print(count)
count = count - 1
print("program ended.")
H έξοδος αυτού του προγράμματος θα είναι η εξής:
H διαδικασία είναι η εξής:
1) To
count = 5 άρα
count > 0 = True και εφόσον είναι True μπαίνει μέσα στην
επανάληψη και εμφανίζει το 5. Στην συνέχεια μειώνει το count κατά ένα και το κάνει 4.
Επειδή το
count = count - 1 είναι η τελευταία πρόταση μέσα στην επανάληψη ξανά πάει
επάνω για να ελέγξει και πάλι την συνθήκη.
2) count = 4 > 0 = True άρα μπαίνει μέσα και κάνει τα ίδια.
3) count = 3 > 0 = True άρα μπαίνει μέσα και κάνει τα ίδια.
4) count = 2 > 0 = True άρα μπαίνει μέσα και κάνει τα ίδια.
5) count = 1 > 0 = True άρα μπαίνει μέσα και κάνει τα ίδια.
6) count = 0 > 0 = False διότι το 0 δεν είναι μεγαλύτερο από το
0 αλλά ίσο. Άρα επειδή η συνθήκη είναι ψευδής δεν μπαίνει μέσα στην
επανάληψη αλλά συνεχίζει το πρόγραμμα μετά από την απανάληψη και
εμφανίζει "program ended."
Για οποιαδήποτε άλλη απορία μην διστάσεις να ρωτήσεις.