Όλα για την Python while Loop with Examples

Όλα για την Python while Loop with Examples

Κόμβος πηγής: 3091323

Εισαγωγή

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

Βρόχος Python while

Πίνακας περιεχομένων

Σύνταξη και δομή ενός βρόχου while

Η σύνταξη ενός βρόχου while στην Python είναι η εξής:

while condition:
    # code to be executed

Η συνθήκη είναι μια έκφραση Boolean που καθορίζει εάν ο βρόχος πρέπει να συνεχίσει ή να τερματιστεί. Εάν η συνθήκη θεωρείται True, το μπλοκ κώδικα μέσα στον βρόχο θα εκτελεστεί επανειλημμένα. Μόλις η συνθήκη γίνει False, ο βρόχος θα βγει και το πρόγραμμα θα συνεχίσει με την επόμενη δήλωση μετά τον βρόχο.

Βασική χρήση και παραδείγματα

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

num = 1
while num <= 5:
    print(num)
    num += 1

Παραγωγή

1

2

3

4

5

Σε αυτό το παράδειγμα, αρχικοποιούμε τη μεταβλητή «num» σε 1. Ο βρόχος while συνεχίζεται εάν το «num» είναι μικρότερο ή ίσο με 5. Μέσα στον βρόχο, εκτυπώνουμε την τιμή του «num» και στη συνέχεια την αυξάνουμε κατά 1 χρησιμοποιώντας το τελεστής `+=`. Αυτή η διαδικασία επαναλαμβάνεται έως ότου το «num» γίνει 6, όταν η συνθήκη γίνεται False και ο βρόχος τερματίζεται.

Έλεγχος της ροής με δηλώσεις ελέγχου βρόχου

Η Python παρέχει τρεις εντολές ελέγχου βρόχου, «διάλειμμα», «συνέχεια» και «πέρασμα», για να σας επιτρέψει να ελέγχετε τη ροή ενός βρόχου while.

Η δήλωση «διάλειμμα».

Η δήλωση `break` χρησιμοποιείται για πρόωρη έξοδο από τον βρόχο, ακόμα κι αν η συνθήκη βρόχου εξακολουθεί να ισχύει. Χρησιμοποιείται συχνά όταν πληρούται μια συγκεκριμένη προϋπόθεση και θέλετε να τερματίσετε αμέσως τον βρόχο. Εδώ είναι ένα παράδειγμα:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Παραγωγή

1

2

3

4

5

Σε αυτό το παράδειγμα, ο βρόχος τερματίζεται όταν το "num" γίνει 6 επειδή έχουμε χρησιμοποιήσει την εντολή "break" μέσα στη συνθήκη if. Ως αποτέλεσμα, εκτυπώνονται μόνο οι αριθμοί από το 1 έως το 5.

Η δήλωση «συνέχεια».

Η δήλωση «συνέχεια» χρησιμοποιείται για να παραλείψετε το υπόλοιπο μπλοκ κώδικα μέσα στον βρόχο και να μετακινηθείτε στην επόμενη επανάληψη. Είναι χρήσιμο όταν θέλετε να παραλείψετε ορισμένες τιμές ή συνθήκες και να συνεχίσετε με την επόμενη επανάληψη. Εδώ είναι ένα παράδειγμα:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

Παραγωγή

1

2

4

5

Σε αυτό το παράδειγμα, ο βρόχος παρακάμπτει την τιμή 3 επειδή έχουμε χρησιμοποιήσει τη δήλωση «continue» μέσα στη συνθήκη if. Ως αποτέλεσμα, ο αριθμός 3 δεν εκτυπώνεται και ο βρόχος συνεχίζει με την επόμενη επανάληψη.

Η δήλωση «περάσματος».

Η δήλωση "pass" είναι ένα σύμβολο κράτησης θέσης όταν δεν θέλετε να κάνετε τίποτα μέσα στον βρόχο. Συχνά χρησιμοποιείται ως προσωρινό σύμβολο κράτησης θέσης κατά την ανάπτυξη ή όταν θέλετε να δημιουργήσετε έναν κενό βρόχο. Εδώ είναι ένα παράδειγμα:

num = 1
while num <= 5:
    pass
    num += 1

Σε αυτό το παράδειγμα, η πρόταση «pass» δεν κάνει τίποτα και ο βρόχος αυξάνει την τιμή του «num» μέχρι να γίνει 6.

Περιπτώσεις και εφαρμογές κοινής χρήσης

Ενώ οι βρόχοι έχουν ένα ευρύ φάσμα εφαρμογών στην Python. Ας εξερευνήσουμε μερικές συνήθεις περιπτώσεις χρήσης:

Επανάληψη έως ότου εκπληρωθεί μια συνθήκη

Ενώ οι βρόχοι χρησιμοποιούνται συνήθως όταν θέλετε να επαναλάβετε μέχρι να ικανοποιηθεί μια συγκεκριμένη συνθήκη. Για παράδειγμα, θέλουμε να βρούμε την πρώτη δύναμη του 2 μεγαλύτερη από 1000. Μπορούμε να χρησιμοποιήσουμε έναν βρόχο while για να το πετύχουμε αυτό:

num = 1
while num <= 1000:
    num *= 2
print(num)

Παραγωγή

1024

Σε αυτό το παράδειγμα, ο βρόχος συνεχίζεται έως ότου το «num» υπερβεί το 1000. Για κάθε επανάληψη, το «num» πολλαπλασιάζεται επί 2 και εκτυπώνεται η τελική τιμή.

Επικύρωση εισαγωγής χρήστη

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

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

Σε αυτό το παράδειγμα, ο βρόχος συνεχίζεται επ' αόριστον μέχρι να εισαχθεί ένας έγκυρος θετικός ακέραιος. Το μπλοκ «try-except» χειρίζεται πιθανά σφάλματα κατά τη μετατροπή της εισαγωγής σε ακέραιο.

Δημιουργία άπειρων βρόχων

Ενώ οι βρόχοι μπορούν να χρησιμοποιηθούν για τη δημιουργία άπειρων βρόχων, οι οποίοι συνεχίζονται επ' αόριστον μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Για παράδειγμα, ας δημιουργήσουμε έναν απλό άπειρο βρόχο που εκτυπώνει το "Hello, World!" επανειλημμένα:

while True:
    print("Hello, World!")

Σε αυτό το παράδειγμα, η συνθήκη βρόχου είναι πάντα True, επομένως ο βρόχος συνεχίζεται επ' αόριστον. Για να τερματίσετε τον βρόχο, μπορείτε να χρησιμοποιήσετε τη δήλωση `break` ή να διακόψετε την εκτέλεση του προγράμματος.

Ένας άπειρος βρόχος μπορεί να είναι χρήσιμος στο πλαίσιο ενός συστήματος παρακολούθησης ή καταγραφής σε πραγματικό χρόνο. Φανταστείτε μια κατάσταση όπου πρέπει να παρακολουθείτε συνεχώς ένα σύστημα ή ένα δίκτυο για συγκεκριμένα συμβάντα ή αλλαγές και να καταγράφετε τις πληροφορίες. Θα μπορούσε να χρησιμοποιηθεί ένας άπειρος βρόχος για τον έλεγχο αυτών των συνθηκών και τη συνεχή λήψη κατάλληλων ενεργειών.

Εφαρμογή βρόχων παιχνιδιών

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

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

Σε αυτό το παράδειγμα, ο βρόχος συνεχίζεται όσο η μεταβλητή «game_running» είναι True. Εντός του βρόχου, θα ενημερώσετε την κατάσταση του παιχνιδιού, θα αποδώσετε τα γραφικά του παιχνιδιού και θα χειρίζεστε την είσοδο του χρήστη. Αυτή η διαδικασία επαναλαμβάνεται μέχρι να τελειώσει το παιχνίδι ή ο παίκτης να επιλέξει να βγει.

Διαβάστε επίσης: Ένα πλήρες σεμινάριο Python για να μάθετε την επιστήμη των δεδομένων από το μηδέν

Nested while Loops και Loop Nesting

Python σας επιτρέπει να τοποθετείτε βρόχους while, πράγμα που σημαίνει ότι μπορείτε να έχετε έναν βρόχο while μέσα σε έναν άλλο βρόχο while. Αυτό είναι χρήσιμο όταν χρειάζεται να εκτελέσετε επαναλαμβανόμενες εργασίες εντός επαναλαμβανόμενων εργασιών. Εδώ είναι ένα παράδειγμα:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

Παραγωγή

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

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

Συμβουλές και βέλτιστες πρακτικές για τη χρήση των βρόχων while

Ενώ οι βρόχοι είναι ισχυρές κατασκευές, μπορεί επίσης να είναι επιρρεπείς σε σφάλματα εάν δεν χρησιμοποιηθούν σωστά. Ακολουθούν ορισμένες συμβουλές και βέλτιστες πρακτικές που πρέπει να έχετε κατά νου όταν χρησιμοποιείτε βρόχους while:

Αρχικοποίηση μεταβλητών σωστά

Πριν εισαγάγετε έναν βρόχο while, αρχικοποιήστε οποιεσδήποτε μεταβλητές βρόχου στις αρχικές τους τιμές. Αυτό διασφαλίζει ότι η συνθήκη βρόχου αξιολογείται σωστά και αποτρέπει την απροσδόκητη συμπεριφορά. Για παράδειγμα:

count = 0
while count < 10:
    print(count)
    count += 1

Σε αυτό το παράδειγμα, αρχικοποιούμε τη μεταβλητή «count» στο 0 πριν μπούμε στον βρόχο.

Εξασφάλιση τερματισμού βρόχου

Για να αποφύγετε άπειρους βρόχους, βεβαιωθείτε πάντα ότι η συνθήκη βρόχου θα γίνει τελικά False. Αυτό μπορεί να επιτευχθεί με την ενημέρωση των μεταβλητών βρόχου ή με τη χρήση εντολών ελέγχου βρόχου όπως «διάλειμμα». Για παράδειγμα:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Σε αυτό το παράδειγμα, ο βρόχος τερματίζεται όταν το "num" γίνει 6 λόγω της δήλωσης "break".

Αποφυγή άπειρων βρόχων

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

Γράψιμο αναγνώσιμο και διατηρήσιμο κώδικα

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

Προηγμένες τεχνικές και κόλπα

Ενώ οι βρόχοι μπορούν να χρησιμοποιηθούν με προηγμένους τρόπους για την επίτευξη συγκεκριμένων εργασιών. Ακολουθούν ορισμένες προηγμένες τεχνικές και κόλπα:

Επανάληψη με άλλες δηλώσεις

Στην Python, μπορείτε να χρησιμοποιήσετε μια δήλωση else με βρόχο while για να εκτελέσετε ένα μπλοκ κώδικα όταν η συνθήκη βρόχου γίνει False. Το άλλο μπλοκ εκτελείται μόνο εάν ο βρόχος ολοκληρωθεί κανονικά χωρίς εντολές διακοπής. Εδώ είναι ένα παράδειγμα:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

Παραγωγή

1

2

3

4

5

Ο βρόχος ολοκληρώθηκε

Σε αυτό το παράδειγμα, το μπλοκ else εκτελείται αφού ο βρόχος ολοκληρωθεί κανονικά.

Χρήση βρόχων while με λίστες και συμβολοσειρές

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

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

Παραγωγή

μήλο

μπανάνα

κεράσι

Σε αυτό το παράδειγμα, ο βρόχος while επαναλαμβάνεται πάνω από τα στοιχεία της λίστας "φρούτα" χρησιμοποιώντας τη μεταβλητή ευρετηρίου.

Διαβάστε επίσης: Όλα όσα πρέπει να γνωρίζετε για τις ενσωματωμένες δομές δεδομένων στην Python – Ένας οδηγός για αρχάριους!

Σύγκριση με άλλες κατασκευές βρόχου στην Python

Ενώ οι βρόχοι είναι μόνο μία από τις πολλές δομές βρόχου που είναι διαθέσιμες στην Python. Ας συγκρίνουμε τους βρόχους while με τους βρόχους for και την αναδρομή:

Ενώ Loops εναντίον For Loops

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

Ενώ βρόχοι εναντίον αναδρομής

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

Συμπέρασμα

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

Ξεκλειδώστε τη δύναμη του AI & ML Excellence! Εγγραφείτε τώρα στο δικό μας Πιστοποιημένο πρόγραμμα AI & ML BlackBelt Plus και ανεβάστε τις δεξιότητές σας σε νέα ύψη. Μην χάσετε την ευκαιρία να κατακτήσετε τις πιο πρόσφατες τεχνολογίες – Μεταμορφώστε την καριέρα σας σήμερα!

Επίσης, αν ψάχνετε για διαδικτυακό μάθημα Python, εξερευνήστε μας – Εισαγωγή στο πρόγραμμα Python σήμερα!

Σφραγίδα ώρας:

Περισσότερα από Ανάλυση Vidhya