Python για βρόχο

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

Βίντεο: Python for Loop

Τι είναι το βρόχο στο Python;

Το for loop στο Python χρησιμοποιείται για την επανάληψη μιας ακολουθίας (λίστα, tuple, string) ή άλλα αντικείμενα με δυνατότητα επαναληψιμότητας. Η επανάληψη μιας ακολουθίας ονομάζεται εγκάρσια.

Σύνταξη του για Loop

 για val στη σειρά: Σώμα για

Εδώ, valείναι η μεταβλητή που παίρνει την τιμή του στοιχείου μέσα στην ακολουθία σε κάθε επανάληψη.

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

Διάγραμμα ροής για Loop

Διάγραμμα ροής για Loop στο Python

Παράδειγμα: Python for Loop

 # Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Το άθροισμα είναι 48

Η συνάρτηση εύρους ()

Μπορούμε να δημιουργήσουμε μια ακολουθία αριθμών χρησιμοποιώντας τη range()συνάρτηση. range(10)θα δημιουργήσει αριθμούς από 0 έως 9 (10 αριθμοί).

Μπορούμε επίσης να ορίσουμε το μέγεθος έναρξης, διακοπής και βήματος ως range(start, stop,step_size). step_size προεπιλογές σε 1 εάν δεν παρέχονται.

Το rangeαντικείμενο είναι "τεμπέλης" με μια έννοια επειδή δεν δημιουργεί κάθε αριθμό που "περιέχει" όταν το δημιουργούμε. Ωστόσο, αυτό δεν είναι ένα iterator, δεδομένου ότι υποστηρίζει in, lenκαι __getitem__λειτουργίες.

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

Για να αναγκάσουμε αυτήν τη λειτουργία να εξάγει όλα τα στοιχεία, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση list().

Το ακόλουθο παράδειγμα θα το αποσαφηνίσει αυτό.

 print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))

Παραγωγή

 εύρος (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)

Μπορούμε να χρησιμοποιήσουμε τη range()συνάρτηση σε forβρόχους για να επαναλάβουμε μια ακολουθία αριθμών. Μπορεί να συνδυαστεί με τη len()λειτουργία για επανάληψη μέσω μιας ακολουθίας χρησιμοποιώντας ευρετηρίαση. Εδώ είναι ένα παράδειγμα.

 # Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))

Παραγωγή

 Μου αρέσει το ποπ, μου αρέσει ροκ, μου αρέσει η τζαζ

για βρόχο με άλλο

Ένας forβρόχος μπορεί επίσης να έχει ένα προαιρετικό elseμπλοκ. Το elseτμήμα εκτελείται εάν τα στοιχεία της ακολουθίας που χρησιμοποιούνται για εξάτμιση βρόχου.

Η breakλέξη-κλειδί μπορεί να χρησιμοποιηθεί για να σταματήσει το a for loop. Σε τέτοιες περιπτώσεις, το άλλο μέρος αγνοείται.

Ως εκ τούτου, ένα άλλο μέρος του βρόχου τρέχει αν δεν υπάρξει διακοπή.

Εδώ είναι ένα παράδειγμα για να το δείξετε αυτό.

 digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 0 1 5 Δεν έχουν απομείνει αντικείμενα.

Εδώ, το for loop εκτυπώνει στοιχεία της λίστας έως ότου εξαντληθεί ο βρόχος. Όταν το for for loop εξαντλείται, εκτελεί το μπλοκ του κώδικα στο elseκαι εκτυπώνει Δεν απομένουν αντικείμενα.

Αυτή η for… elseδήλωση μπορεί να χρησιμοποιηθεί με τη breakλέξη-κλειδί για την εκτέλεση του elseαποκλεισμού μόνο όταν η breakλέξη-κλειδί δεν εκτελέστηκε. Ας πάρουμε ένα παράδειγμα:

 # program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')

Παραγωγή

 Δεν βρέθηκε καταχώριση με αυτό το όνομα.

ενδιαφέροντα άρθρα...