python loops while
Αυτό το σεμινάριο βίντεο εξηγεί το ρόλο των Loops στην Python, τους τύπους τους: Για, Ενώ, Nested Loops με σύνταξη και πρακτικά παραδείγματα προγραμματισμού:
Μάθαμε για τα τέσσερα διαφορετικά Δηλώσεις υπό όρους στην Python στο προηγούμενο σεμινάριό μας.
Οι βρόχοι είναι ισχυρές έννοιες προγραμματισμού που υποστηρίζονται από όλες σχεδόν τις σύγχρονες γλώσσες προγραμματισμού. Επιτρέπει σε ένα πρόγραμμα να εφαρμόζει επαναλήψεις, πράγμα που σημαίνει βασικά την εκτέλεση του ίδιου μπλοκ κώδικα δύο ή περισσότερες φορές.
Αν και υποστηρίζονται από όλες τις σύγχρονες γλώσσες προγραμματισμού και παρέχουν παρόμοια βασική λειτουργικότητα, οι υλοποιήσεις και η σύνταξή τους ενδέχεται να διαφέρουν.
ο Πλήρης σειρά κατάρτισης στο Python θα σας δώσει μια σύντομη ιδέα για το τι είναι η Python.
Τι θα μάθετε:
- Εκμάθηση βίντεο Python Loops
- Τι είναι οι βρόχοι Python
- Για βρόχο στο Python
- Ο βρόχος ενώ
- Ένθετο βρόχο
- Απεριόριστοι βρόχοι Python
- συμπέρασμα
Εκμάθηση βίντεο Python Loops
Τι είναι οι βρόχοι Python
Στο Python, οι δηλώσεις εκτελούνται με διαδοχικό τρόπο, δηλαδή εάν ο κώδικάς μας αποτελείται από πολλές γραμμές κώδικα, τότε η εκτέλεση θα ξεκινήσει στην πρώτη γραμμή, ακολουθούμενη από τη δεύτερη και ούτω καθεξής.
Ωστόσο, θα υπάρξουν περιπτώσεις όπου ενδέχεται να θέλουμε να εκτελεστεί ένα μπλοκ κώδικα αρκετές φορές έως ότου ικανοποιηθεί μια συνθήκη. Χάρη στις δηλώσεις βρόχου, μπορούμε να κάνουμε ακριβώς αυτό.
Δίνεται παρακάτω ένα διάγραμμα ροής που δείχνει πώς λειτουργεί μια δήλωση βρόχου.

Με βάση το παραπάνω διάγραμμα, θα ξεκινήσει ένα πρόγραμμα Python Αρχή (κύκλος) και η εκτέλεση θα προχωρήσει στη δήλωση συνθήκης (Diamond), εάν η συνθήκη είναι ΑΛΗΘΕΙΑ, τότε το πρόγραμμα θα εκτελέσει το μπλοκ κώδικα.
Η εκτέλεση θα προχωρήσει ξανά στη δήλωση συνθήκης και η ίδια διαδικασία συνεχίζεται κάθε φορά που η συνθήκη είναι ΑΛΗΘΕΙΑ. Διασπάται μόνο από το βρόχο ή σταματά να εκτελεί το μπλοκ κώδικα εάν η συνθήκη είναι ΛΑΘΟΣ, και σε αυτήν την περίπτωση, το πρόγραμμα θα συνεχίσει την εκτέλεση διαδοχικά.
Η Python έχει δύο τύπους βρόχων.
# | Τύπος βρόχου | Περιγραφή |
---|---|---|
1 | για βρόχο | Είναι ένας βρόχος που βασίζεται σε επαναληπτικό, ο οποίος περνά μέσα από τα αντικείμενα επαναλαμβανόμενων αντικειμένων όπως λίστες, πλειάδες, συμβολοσειρά και εκτελεί ένα κομμάτι κώδικα επανειλημμένα για αρκετές φορές, με βάση τον αριθμό των αντικειμένων σε αυτό το επαναλαμβανόμενο αντικείμενο. |
δύο | ενώ βρόχος | Εκτελεί ένα μπλοκ δηλώσεων επανειλημμένα αρκεί η συνθήκη να είναι ΑΛΗΘΕΙΑ. |
Αυτοί οι δύο τύποι βρόχων μπορούν να χρησιμοποιηθούν μεταξύ τους για τη δημιουργία ένθετοι βρόχοι (περισσότερα για αυτό αργότερα).
Γενική χρήση βρόχων Python
Στο Python, οι βρόχοι μπορούν να χρησιμοποιηθούν για την επίλυση φοβερών και περίπλοκων προβλημάτων. Πιθανότατα θα αντιμετωπίσετε προβλήματα που θα απαιτούσαν να επαναλάβετε μια ενέργεια έως ότου ικανοποιηθεί μια συνθήκη (ενώ ο βρόχος λειτουργεί καλύτερα εδώ) ή ένα πρόβλημα που απαιτεί να εκτελέσετε μια ενέργεια σε πολλά αντικείμενα (για τον βρόχο λειτουργεί καλύτερα εδώ).
Για βρόχο στο Python
ο για βρόχο λειτουργεί καλά με επαναλαμβανόμενα αντικείμενα όπως τόπος αγώνων , πλειάδες , χορδές κ.λπ. Με αυτόν τον τρόπο, μπορούμε να περάσουμε από τα αντικείμενα αυτών των αντικειμένων και να χειριστούμε τις τιμές τους με βάση τη σύνδεσή μας.
ο για βρόχο έχει μηδενικό ευρετήριο και έχει την ακόλουθη σύνταξη.
for in n:
Η κατάσταση στο για βρόχο παραμένει ΑΛΗΘΕΙΑ μόνο εάν δεν έχει επαναλάβει όλα τα στοιχεία του αντικειμενικού αντικειμένου (n). Για να κατανοήσουμε καλύτερα το για βρόχο , θα εξετάσουμε πολλά παραδείγματα και τέλος, θα εργαστούμε σε ένα πρακτικό παράδειγμα.
Παράδειγμα 1:Εκτύπωση αριθμών που κυμαίνονται από την αρχή έως το τέλος
Για να το επιτύχουμε αυτό, θα χρησιμοποιήσουμε το Python εύρος λειτουργία.
Έτσι θα μοιάζει το διάγραμμα ροής:

def range_from_start_to_end(start, end): for i in range(start, end+1): print(i) if __name__ == '__main__': start = int(input('Enter a start number: ')) end = int(input('Enter an end number: ')) # Call our function to print the ranges range_from_1_to_20(start, end)
Παραγωγή
Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε το εύρος Python, το οποίο είναι μια συνάρτηση που επιστρέφει μια ακολουθία αριθμών, ξεκινώντας από το a αρχή αριθμός (0 από προεπιλογή), προσαυξήσεις κατά a βήμα (1 από προεπιλογή) και σταματά πριν από το τέλος αριθμός.
Για αυτό το παράδειγμα, έχουμε τα εξής:
Παράμετροι και τιμές για τη λειτουργία εύρους Python
Παράμετροι | αξία |
---|---|
αρχή | 1 |
τέλος | είκοσι |
βήμα | 1 (προεπιλεγμένη τιμή) |
Λοιπόν, μας για βρόχο θα επαναλάβει μια ακολουθία αριθμών από 1 έως 20, και για κάθε επανάληψη, θα εκτυπώσει τον αριθμό. Η επανάληψη σταματά όταν έχουν γίνει επισκέψεις σε όλους τους αριθμούς της ακολουθίας.
Παράδειγμα 2:Προσδιορίστε εάν ένας αριθμός είναι πρωταρχικός αριθμός.
Σε αυτό το παράδειγμα, θα δούμε γιατί το για βρόχο είναι τόσο ισχυρό και χρήσιμο. Εδώ, θα επαναλάβουμε μια ακολουθία αριθμών και για κάθε αριθμό, θα εκτελέσουμε κάποιο υπολογισμό για να προσδιορίσουμε εάν μια συνθήκη είναι ΑΛΗΘΕΙΑ ή ΛΑΘΟΣ.
Μπορεί να σας βοηθήσει να γνωρίζετε τις προϋποθέσεις για έναν αριθμό να είναι πρώτος.
- Ο αριθμός είναι πάντα θετικός, μεγαλύτερος από 1.
- Δεν έχει θετικούς διαχωριστές εκτός από το 1 και το ίδιο.
def isPrime(number): # rule 1: number should be positive, and greater than 1. if number > 1: # iterate over a range from 2 to half the number. for i in range(2, number//2): # rule 2: shouldn't have any positive divisor # order than 1 and itself. if(number % i) ==0: return False return True else: return False if __name__ == '__main__': number = int(input('Enter number to check if it's prime: ')) if isPrime(number): print('{} is a prime number'.format(number)) else: print('{} is not a prime number'.format(number))
Έξοδος όταν η είσοδος είναι 13
Έξοδος όταν η είσοδος είναι 10
Σημείωση: ο αν-αλλιώς χρησιμοποιείται στο παραπάνω παράδειγμα είναι μια δήλωση υπό όρους και όχι ένας βρόχος. Αλλά όπως το ενώ βρόχος (το οποίο θα καλύψουμε σύντομα), χρησιμοποιεί τους τελεστές σύγκρισης για την κατάστασή του.
Παράδειγμα - Βρείτε την καταμέτρηση λέξεων σε ένα κείμενο χρησιμοποιώντας το για Loop
Αυτό το παράδειγμα αφορά το να μετράτε πόσες φορές κάθε λέξη εμφανίζεται σε ένα κείμενο. Υπάρχουν πολλοί τρόποι με τους οποίους αυτό μπορεί να επιτευχθεί, αλλά για αυτό το παράδειγμα, θα χρησιμοποιήσουμε το για βρόχο .
Θα μετρήσουμε τις λέξεις από το παρακάτω κείμενο.
Γεια σας, καλώς ήρθατε στη Βοήθεια δοκιμών λογισμικού. Σε αυτό το άρθρο: 'Loops in Python', θα μάθετε για βρόχους με πρακτικά παραδείγματα. Τέλεια, σωστά; Φροντίστε να ακολουθήσετε καθώς μαθαίνουμε μαζί.
Καλή κωδικοποίηση!
Το πρώτο πράγμα που θα κάνουμε είναι να αφαιρέσουμε τα σημεία στίξης, το κενό διάστημα και όλα τα πεζά γράμματα. Θα αφαιρέσουμε τα σημεία στίξης με τον παραδοσιακό τρόπο προσδιορίζοντας ποια σημεία στίξης υπάρχουν στο κείμενό μας και στη συνέχεια θα χρησιμοποιήσουμε το για βρόχο για να τα αντικαταστήσετε με μια κενή συμβολοσειρά.
Δεδομένου ότι το κείμενο δεν είναι πολύ, βλέπουμε ότι τα σημεία στίξης είναι κόμματα (,), περίοδος (.), ερωτηματικό (?), άνω κάτω τελεία (:), διπλό εισαγωγικό (') και απόστροφος («).
Δίνεται παρακάτω ο κωδικός για την αντικατάστασή τους με μια κενή συμβολοσειρά. Σημειώστε ότι δεν θα αντικαταστήσουμε την απόστροφο.
# replace punctuation(except apostrophe) and white spaces for punc in '.,
?!'': text = text.replace(punc, '') # lowercase all letters. text = text.lower()
Παραγωγή
Στη συνέχεια, θα χωρίσουμε το κείμενο σε μια λίστα λέξεων που χωρίζονται με κενό διάστημα.
# Split text into list of words separated by whitespaces(tab, newline) text = text.split()
Παραγωγή
Τέλος, θα μετρήσουμε και θα δούμε πόσες φορές κάθε λέξη εμφανίζεται στο διαχωρισμένο κείμενο.
# initialize a dictionary to hold words:count wordsCount = {} # if a word is already a key in our dictionary, increment it's value. # If not, initialize it's value to 1. for word in text: wordsCount(word) = wordsCount.get(word, 0) + 1
Παραγωγή
Μπορούμε να δούμε ξεκάθαρα μερικές λέξεις να εμφανίζονται δύο φορές και μερικές μόνο μία φορά. Ας ταξινομήσουμε αυτό το λεξικό με την αξία του σε φθίνουσα σειρά, ώστε να μπορούμε να διαφοροποιήσουμε σαφώς. Εδώ, χρησιμοποιήσαμε το Python ταξινομημένη συνάρτηση , έκφραση λάμδα , και κατανόηση λεξικού .
κατεβάστε όλα τα τραγούδια από τη λίστα αναπαραγωγής youtube
# Sort dictionary by value, in descending order wordsCount = {w: c for w, c in sorted(wordsCount.items(), key=lambda item: item(1), reverse=True)}
Τέλος, χρησιμοποιήσαμε το για βρόχο για να καθαρίσετε, να μετρήσετε και να ταξινομήσετε τις λέξεις στο κείμενό μας.
Δίνεται παρακάτω ο πλήρης κωδικός.
def word_count(text): # initialize a dictionary to hold words:count wordsCount = {} # replace punctuation(except apostrophe) and white spaces for punc in '.,
?!'': text = text.replace(punc, '') # lowercase all letters. text = text.lower() # Split text into list of words separated by whitespaces(tab, newline) and apostrophe(') text = text.split() # if a word is already a key in our dictionary, increment it's value. # If not, initialize it's value to 1. for word in text: wordsCount(word) = wordsCount.get(word, 0) + 1 # Sort dictionary by value, in descending order wordsCount = {w: c for w, c in sorted(wordsCount.items(), key=lambda item: item(1), reverse=True)} print(wordsCount) if __name__ == '__main__': text = 'Hello, welcome to Software Testing Help. In this article: 'Loops in Python', you'll learn about loops with practical examples. Great right? Make sure to follow along as we learn together.
Happy coding!' word_count(text)
Τελική έξοδος
Ο βρόχος ενώ
Ο Πύθων ενώ βρόχος εκτελεί ένα μπλοκ δηλώσεων επανειλημμένα αρκεί η συνθήκη να είναι ΑΛΗΘΕΙΑ. Παρατηρούμε ότι είναι λίγο παρόμοιο με το εάν δήλωση . Ωστόσο, σε αντίθεση με το ενώ βρόχος , η δήλωση if εκτελείται μία φορά μόνο εάν η κατάστασή της είναι ΑΛΗΘΕΙΑ.
Ο βρόχος while έχει την ακόλουθη σύνταξη:
While condition: expression(block of code)
σε αντίθεση με το για βρόχο , ο ενώ βρόχος δεν επαναλαμβάνει μια ακολουθία. Χρησιμοποιεί τους τελεστές σύγκρισης και τα booleans για την κατάστασή του.
Ας δούμε μερικά παραδείγματα για να κατανοήσουμε καλύτερα πώς χρησιμοποιείται.
Παράδειγμα 1:Εκτύπωση 'Γεια σου Κόσμος!' ένα πλήθος φορές
ο ενώ βρόχος ελέγχει την κατάσταση (μέτρηση
Έτσι θα μοιάζει το διάγραμμα ροής:
def print_count_times(n): # set count to 0 count = 0 while count Παραγωγή:

Παράδειγμα 2:Βρείτε παραγοντικά ενός αριθμού
Το παραγοντικό ενός αριθμού αντιπροσωπεύεται ως ν! και έχει τον τύπο
1*2*...*(n-1)
Το πρόγραμμα ελέγχει εάν ο αριθμός είναι 0 και επιστρέφει 1 (το παραγοντικό του 0 είναι 1). Μετά το ενώ βρόχος ελέγχει τη συνθήκη (n> = 1) για να δει αν το n μας είναι ίσο με 1 ή μεγαλύτερο από 1. Κάθε φορά που αυτή η συνθήκη είναι ΑΛΗΘΕΙΑ, το πρόγραμμά μας υπολογίζει τον τύπο στο μπλοκ βρόχου
Ας χρησιμοποιήσουμε το loop loop για να λύσουμε το παραγοντικό πρόβλημα
def factorial(n): if n == 0: # The factorial of 0 is 1. return 1 else: fac = 1 while n >= 1: # while this condition is TRUE # 1*2*3*...*(n-1) fac *= n # same as 'fac = fac * n' n -= 1 # same as 'n = n - 1' return fac if __name__ =='__main__': n = int(input('Find factorial of: ')) fac = factorial(n) print('Factorial of {} is {} '.format(n,fac))
Παραγωγή

Παράδειγμα - Βρείτε μια ακολουθία Fibonacci έως τον επόμενο όρο χρησιμοποιώντας τον βρόχο While
Μια ακολουθία Fibonacci έχει τον τύπο.
0,1,1,...((n-1)th + (n-2)th)
Οι δύο πρώτοι αριθμοί είναι 0 και 1, τότε οι επόμενοι αριθμοί είναι το άθροισμα των δύο προηγούμενων αριθμών (n-1) th και (n-2) th.
Η ακολουθία Fibonacci του 8 θα είναι 0,1,1,2,3,5,8,13
def fibonacci(n_term): n1 = 0 # (n-1)th if n_term == 1: # if n_term term is 1, print 0 print(n1) else: count = 0 n2 = 1 # (n-2)th # Loop while 'count Παραγωγή

Το πρόγραμμά μας καθορίζει πρώτα την πρώτη nth τιμή (n1 = 0) και, στη συνέχεια, ελέγχει εάν το n_term που έχει περάσει ως όρισμα είναι ίσο με 1. Εάν TRUE, επιστρέφει 0.
Διαφορετικά, ορίζει δύο μεταβλητές:
- count = 0: Αυτό θα χρησιμοποιηθεί στο ενώ βρόχος για να ελέγξετε την κατάσταση εάν η μέτρηση είναι μικρότερη από n_term (count
- n2 = 1: Αυτή είναι η δεύτερη nth τιμή μας.
Μέχρι στιγμής, έχουμε 0,1 στην ακολουθία μας (n1, n2). Ενώ η κατάσταση είναι Αληθινή:
- Η τιμή του n2 εκχωρείται σε μια προσωρινή μεταβλητή (temp = n2).
- Το άθροισμα των δύο προηγούμενων αριθμών υπολογίζεται και αντιστοιχίζεται σε n2 (n2 = n1 + n2).
- Η προσωρινή τιμή μας (παλιά τιμή n2) αντιστοιχεί στο n1 (n1 = temp).
- Η μέτρησή μας αυξάνεται (αριθμός + = 1) και η κατάσταση ελέγχεται ξανά.
Στο τέλος της πρώτης επανάληψης, έχουμε 0,1,1 όπου:
- n1 = 1 (το πρώτο 1)
- n2 = 1 (το δεύτερο 1)
Αυτή η λειτουργία θα επαναληφθεί έως ότου μετρηθεί η συνθήκη Ένθετο βρόχο
Το ωραίο πράγμα για τους βρόχους Python είναι ότι μπορούν να τοποθετηθούν, δηλαδή μπορούμε να χρησιμοποιήσουμε έναν ή περισσότερους βρόχους μέσα σε έναν άλλο βρόχο. Αυτό μας επιτρέπει να λύσουμε ακόμη πιο περίπλοκα προβλήματα.
# 1) Φωλιά για βρόχους
γιατί οι βρόχοι μπορούν να τοποθετηθούν μέσα τους. Η παρακάτω σύνταξη δείχνει ένα επίπεδο 1 ένθετο για βρόχο.
for in n: # piece of code goes here for in n: # piece of code goes here
Παράδειγμα 1:Χρησιμοποιήστε το ένθετο για βρόχο για εκτύπωση αριθμών σε μοτίβα
Ας χρησιμοποιήσουμε το ένθετο για βρόχο για να εκτυπώσουμε το ακόλουθο μοτίβο:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
Κάθε αριθμός εκτυπώνεται πολλές φορές που αντιστοιχεί στον ίδιο τον αριθμό.
Έτσι θα μοιάζει το διάγραμμα ροής:

Διάγραμμα ροής ενός ένθετου για βρόχο def print_numbers(): for i in range(1, 6): # outer loop for j in range(i): # 1st level inner loop print(i, end=' ') print('
') if __name__ == '__main__': print_numbers()
Παραγωγή

Το πρόγραμμά μας λειτουργεί ως εξής:
- Ο εξωτερικός βρόχος επαναλαμβάνει το εύρος από 1 έως 6 και για κάθε στοιχείο αυτής της ακολουθίας.
- Μπαίνει στον εσωτερικό βρόχο όπου επαναλαμβάνεται σε ένα εύρος αυτού του αντικειμένου.
- Για κάθε επανάληψη αυτού του στοιχείου, εκτυπώνει το στοιχείο.
- Αφήνει τον εσωτερικό βρόχο μόνο όταν έχει επαναλάβει πλήρως μια σειρά από αυτό το αντικείμενο.
- Όταν φεύγει από τον εσωτερικό βρόχο, επιστρέφει στον εξωτερικό βρόχο και η διαδικασία συνεχίζεται έως ότου επαναληφθεί πλήρως στην ακολουθία του.
Παράδειγμα 2:Χειριστείτε στοιχεία μιας ένθετης λίστας χρησιμοποιώντας ένα ένθετο για βρόχο
Μια κατάσταση που πιθανότατα θα συναντήσουμε στο Python είναι η πρόσβαση στα στοιχεία μιας ένθετης λίστας.
Για παράδειγμα, ακολουθήστε την ένθετη λίστα παρακάτω.
>>> ((3,4.0,2,8.4,6),(0,2,0.2,4,6),(9,3.5,0.32,5,4))
Για αυτό το παράδειγμα, ας γράψουμε ένα πρόγραμμα που θα μετράει τον αριθμό των ακέραιων και αιωρούμενων σε αυτήν την ένθετη λίστα.
def float_and_int_count(nested_list): float_count = 0 # set our float count to zero int_count = 0 # set our integer count to zero for l in nested_list: # outer loop accesses each list in the nested list for item in l: # inter loop accesses each item in the list if isinstance(item, int): # if item is an instance of int int_count += 1 # increment integer count elif isinstance(item, float): # if item is an instance of float float_count += 1 # increment float count # return a tuple return float_count, int_count if __name__ == '__main__': nested_list = ((3,4.0,2,8.4,6),(0,2,0.2,4,6),(9,3.5,0.32,5,4)) float_n, int_n = float_and_int_count(nested_list) print('Float count: {}
Integer count: {}'.format(float_n, int_n))
Παραγωγή

Το πρόγραμμά μας λειτουργεί με αυτόν τον τρόπο:
δωρεάν λογισμικό δημιουργίας αντιγράφων ασφαλείας για τα Windows 10 δωρεάν
- Ο εξωτερικός βρόχος έχει πρόσβαση στις πρώτες εσωτερικές λίστες (3,4.0,2,8,4,6) στη ένθετη λίστα μας.
- Ο εσωτερικός βρόχος αποκτά πρόσβαση σε κάθε στοιχείο αυτής της πρώτης εσωτερικής λίστας. Για κάθε στοιχείο, ελέγχει εάν είναι float ή ακέραιος. Εάν είναι ακέραιος, αυξάνει τον αριθμό ακέραιου (int_count). Διαφορετικά, εάν είναι float, αυξάνει τον αριθμό float (float_count).
- Μόλις ολοκληρωθεί η επανάληψη μέσω αυτής της πρώτης εσωτερικής λίστας, μετακινείται στη συνέχεια στον εξωτερικό βρόχο και έχει πρόσβαση στη δεύτερη λίστα (0,2,0,2,4,6) και η ίδια διαδικασία συνεχίζεται μέχρι να έχει πρόσβαση σε όλες τις εσωτερικές λίστες.
# 2) Φωλιά ενώ βρόχους
Ενώ οι βρόχοι μπορούν να τοποθετηθούν μέσα τους.
Η παρακάτω σύνταξη δείχνει ένα 1-level ένθετο ενώ βρόχος.
while condition: # piece of code goes here while condition: # piece of code goes here
Παράδειγμα 3:Χρησιμοποιήστε ένθετο ενώ βρόχο για εκτύπωση αστέρια (*) σε μοτίβα
Ας χρησιμοποιήσουμε το ένθετο while loop για να κατασκευάσουμε το ακόλουθο μοτίβο:
* * * * * * * * * * * * * * *
def print_pattern(n): i = 0 # initialize to zero for outer loop j = 0 # initialize to zero for inner loop while i <= n: # outer loop runs n times while j < i: # inner loop runs i times print('*', end=' ') j += 1 # increment before checking inner loop condition j = 0 # re-initialize after leaving inner loop i += 1 # increment before checking outer loop condition print('') if __name__ == '__main__': n = 5 print_pattern(5)
Παραγωγή

Το πρόγραμμά μας λειτουργεί ως εξής:
- Οι μεταβλητές αρχικοποιούνται (i = 0, j = 0, n = 5)
- Ο εξωτερικός βρόχος μας ελέγχει την κατάσταση (0<= 5) which is obviously TRUE.
- Ο εσωτερικός βρόχος μας ελέγχει την κατάσταση (0<0) which is obviously FALSE, so our program breaks out of the inner loop.
- αυξάνεται και ο εξωτερικός βρόχος ελέγχει ξανά την κατάστασή του (1<= 5) which is TRUE.
- Ο εσωτερικός βρόχος μας ελέγχει την κατάσταση (0<1) which is TRUE. So a star( * ) εκτυπώνεται και το j αυξάνεται και η κατάσταση του εσωτερικού βρόχου ελέγχεται με το (1<1) which is FALSE, thus breaks out of the inner loop.
Η παραπάνω διαδικασία συνεχίζεται έως ότου η κατάσταση του εξωτερικού βρόχου γίνει ΛΑΘΟΣ.
Παράδειγμα - Παιχνίδι ορθογραφίας αριθμών
Για να ολοκληρώσετε με ένα ένθετο βρόχο , θα δημιουργήσουμε ένα συναρπαστικό παιχνίδι για να βοηθήσουμε στην αξιολόγηση της ικανότητας του παιδιού να αναγνωρίζει και να γράφει αριθμούς.
Το πρόγραμμα εμφανίζει τυχαίους αριθμούς στην οθόνη και αιτήματα για την ορθογραφία αυτού του αριθμού. Ελέγχει εάν η είσοδος είναι σωστή και, στη συνέχεια, εμφανίζει έναν άλλο αριθμό. Εάν η είσοδος είναι λανθασμένη, τότε θα στείλει ένα μήνυμα σφάλματος και θα ζητήσει άλλη απάντηση.
import random # random contain 'shuffle' used to shuffle our list def word_spelling(): print('HELLO, WELCOME TO THE WORD SPELLING GAME.
') print('SPELL AS MUCH NUMBERS AS YOU CAN TO GET MARKS
') print('-----------------------------------------------
') correct_score = 0 # keep record of correct spellings wrong_score = 0 # keep record of wrong spellings exceeding number of trials max_trials = 3 # maximum number of trials # A dictionary of numbers as keys and spellings as values. This can be expanded to increase its level of difficulty. number_spell = {0:'zero',1:'one',2:'two',3:'three',4:'four',5:'five',6:'six', 7:'seven',8:'eight',9:'nine',10:'ten'} # get the list of keys from the dict and shuffle them so that random numbers are displayed on the screen. number_spell_keys = list(number_spell.keys()) random.shuffle(number_spell_keys) # Our game starts here for number in number_spell_keys: # outer loop is a for loop which iterate through the keys trial_count = 0 # keeps track of number of trials while trial_count Παραγωγή

Οι κύριες λειτουργίες του for-loop και while-loop είναι:
- ο για βρόχο επαναλαμβάνεται μέσω μιας λίστας αριθμών που παρουσιάζονται στον χρήστη για ορθογραφία.
- ο ενώ βρόχος ελέγχει εάν έχει ξεπεραστεί ο αριθμός των δοκιμών. Με αυτόν τον τρόπο, δίνεται στον χρήστη ένας μέγιστος αριθμός δοκιμών για να το διορθώσει.
Έχουμε δει δύο νέες έννοιες ενώ-αλλού , Διακοπή (περισσότερα για αυτό αργότερα). ο ενώ βρόχος και για βρόχο αρχικά έχουν άλλη δήλωση που εκτελείται μόνο μία φορά όταν η κατάσταση είναι ΛΑΘΟΣ.
Απεριόριστοι βρόχοι Python
Εάν δεν είμαστε προσεκτικοί με το πώς εφαρμόζουμε τους βρόχους μας, τότε μπορεί να οδηγήσει σε άπειρος βρόχος δηλαδή το πρόγραμμα θα εκτελέσει ένα μπλοκ κώδικα για πάντα έως ότου ο υπολογιστής μας εξαντληθεί από πόρους όπως η μνήμη της CPU.
Παράδειγμα 1:Άπειρο βρόχο
def infinit_loop_1(): numb = 0 while numb <5: print(numb) if __name__ == '__main__': infinit_loop_1()
Παραγωγή

Σημείωση : Για να σταματήσετε την εκτέλεση αυτού του προγράμματος, χρησιμοποιήστε Ctrl + z ή Ctrl + ντο στο τερματικό που χρησιμοποιήσατε για να εκτελέσετε τον κωδικό.
Ο κωδικός μας παραπάνω εφαρμόζει ένα άπειρο βρόχο . Ωστόσο, αυτό είναι κατά λάθος επειδή μας ενώ βρόχος ελέγχει την κατάσταση μούδιασμα<5, but there is nowhere in the code that actually increments the numb’s value. Hence the value of numb is always zero and the condition keeps returning TRUE.
Έτσι, ο τρόπος για να το διορθώσετε είναι να παρέχετε ένα μέσο για την αύξηση της αξίας του numb.
def infinit_loop_1(): numb = 0 while numb <5: print(numb) numb += 1 # fix by incrementing numb's value if __name__ == '__main__': infinit_loop_1()
Παραγωγή

Ένα ερώτημα μπορεί να προκύψει ως έχει άπειροι βρόχοι πραγματικά απαραίτητο; Ειδοποίηση Spoiler: Ναι. Ένας διακομιστής μπορεί να προγραμματιστεί να λειτουργεί συνεχώς, ενώ εξυπηρετεί τις ανάγκες των πελατών. Στα τυχερά παιχνίδια, ένα συμβάν μπορεί να εκτελεστεί έως ότου ο χρήστης επιλέξει μια ενέργεια για διακοπή ή διακοπή του βρόχου.
Είτε το πιστεύετε είτε όχι, χρησιμοποιήσαμε πραγματικά ένα άπειρος βρόχος στο τελευταίο πρακτικό παράδειγμα παραπάνω. Λοιπόν, πώς αντιμετωπίζουμε άπειροι βρόχοι ;
Δηλώσεις Python Break And Continue
Όπως εξηγήσαμε παραπάνω, υπάρχουν περιπτώσεις όπου θα πρέπει να γράψουμε σκόπιμα άπειροι βρόχοι . Σε αυτές τις περιπτώσεις, θα δούμε ότι το Διακοπή και να συνεχίσει οι λέξεις-κλειδιά είναι η ραχοκοκαλιά του άπειροι βρόχοι .
ο Διακοπή και να συνεχίσει λέξεις-κλειδιά χρησιμοποιούνται συνήθως μέσα σε ένα Python εάν δήλωση όπου η δήλωση if ελέγχει μια συνθήκη και εάν είναι ΑΛΗΘΕΙΑ, είτε βγαίνουμε από τον βρόχο στον οποίο κλήθηκε η δήλωση if είτε συνεχίζουμε παραλείποντας όλους τους κωδικούς κάτω από αυτήν και επιστρέφουμε στην αρχή του βρόχου.
Παράδειγμα - Συσσώρευση αριθμών έως ότου ικανοποιηθεί ένα όριο
Ας εξετάσουμε ένα πρόγραμμα που λαμβάνει αριθμούς από μια τυχαία δημιουργημένη πηγή και συσσωρεύει τους αριθμούς έως ότου επιτευχθεί ένα όριο.
Ο λόγος για τον οποίο αυτό το παράδειγμα απαιτεί έναν άπειρο βρόχο είναι ότι δεν γνωρίζουμε με ακρίβεια πόσες επαναλήψεις θα πρέπει να εκτελέσει το πρόγραμμά μας, ώστε οι συσσωρευμένοι αριθμοί να φτάσουν στο όριο.
Ο μόνος σωτήρας μας είναι ο Πύθων εάν δήλωση μαζί με το δήλωση διακοπής . Η δήλωση if αν ελέγξει εάν έχει επιτευχθεί το όριο, τότε ξεσπά από τον βρόχο εάν είναι ΑΛΗΘΕΙΑ.
Το πρόγραμμά μας απαιτεί επίσης να μην συσσωρεύονται ορισμένοι περιορισμένοι αριθμοί. Έτσι, εάν το πρόγραμμά μας συναντά αυτούς τους αριθμούς, θα πρέπει να παραλείψει όλους τους κωδικούς και να επιστρέψει στην αρχή του βρόχου. Αυτό είναι εφικτό με το συνέχεια δήλωσης .
import random def acc_numbers(): acc_numb = 0 # initialize our accumulator threshold = 45 # define our threshold value Rejected_numbers = (4,0,1) # define our rejected numbers while True: # This is an uncontrolled condition. # our infinite while loop # return random integer number within 0 and 10. numb = random.randint(0, 10) # check if the number is in the list of rejected numbers if numb in Rejected_numbers: print('Not accepting ', numb) continue # skip all code blow it and return to the beginning of the while loop # add random number to our store acc_numb += numb # check if the accumulated number has reached threshold if acc_numb >= threshold: print('Threshold attended') break # break out of the loop. if __name__ == '__main__': acc_numbers()
Παραγωγή

Συχνές Ερωτήσεις
Ε # 1) Πώς ελέγχετε ένα βρόχο στο Python;
Απάντηση: Στο Python, μπορείτε να ελέγξετε έναν βρόχο με τις ακόλουθες δηλώσεις ελέγχου:
- ο Διακοπή η λέξη-κλειδί ξεσπά από βρόχο.
- ο να συνεχίσει Η λέξη-κλειδί παραλείπει όλους τους κωδικούς κάτω από αυτήν και επιστρέφει στην αρχή του βρόχου.
Αυτές οι λέξεις-κλειδιά χρησιμοποιούνται ως επί το πλείστον σε εάν δήλωση που ελέγχει πρώτα εάν μια συνθήκη είναι ΑΛΗΘΗ ή ΛΑΘΟΣ.
Q # 2) Ποια είναι η διαφορά μεταξύ του loop και while loop;
Απάντηση: ΠΡΟΣ ΤΗΝ για βρόχο είναι ένα επαναλαμβανόμενος βρόχος , που διασχίζει τα αντικείμενα επαναλαμβανόμενων αντικειμένων όπως τόπος αγώνων , πλειάδες , κλπ. Ενώ ενώ βρόχος είναι ένα βρόχος βάσει συνθηκών , που εκτελεί ένα μπλοκ δηλώσεων επανειλημμένα αρκεί η κατάστασή του να είναι ΑΛΗΘΕΙΑ.
Q # 3) Υποστηρίζει η Python μέχρι το βρόχο;
sql συνεντεύξεις προγραμματιστή ερωτήσεις και απαντήσεις για έμπειρο pdf
Απάντηση: Δυστυχώς, η Python δεν υποστηρίζει το do-while βρόχο .
Q # 4) Ποιοι είναι οι δύο τύποι βρόχων στο Python;
Απάντηση: Η Python υποστηρίζει γενικά δύο τύπους βρόχων: για βρόχο και ενώ βρόχος . Ωστόσο, ένας τρίτος βρόχος ( ένθετο βρόχο ) μπορεί να δημιουργηθεί τοποθετώντας δύο ή περισσότερους από αυτούς τους βρόχους.
Περισσότερα για τους βρόχους Python
Οι δηλώσεις βρόχου στο python χρησιμοποιούνται για την εκτέλεση ενός μπλοκ δηλώσεων ή κώδικα επανειλημμένα για αρκετές φορές όπως καθορίζεται από τον χρήστη.
Η Python μας παρέχει 2 τύπους βρόχων όπως αναφέρεται παρακάτω:
- Ενώ βρόχος
- Για βρόχο
# 1) Ενώ βρόχος:
Ενώ ο βρόχος στο python χρησιμοποιείται για την εκτέλεση πολλαπλών δηλώσεων ή κωδικών επανειλημμένα έως ότου ισχύει η δεδομένη συνθήκη.
Χρησιμοποιούμε ένα loop loop όταν δεν γνωρίζουμε τον αριθμό των επαναλήψεων.
Σύνταξη:
while (expression): block of statements Increment or decrement operator
Στον βρόχο while, ελέγχουμε την έκφραση, εάν η έκφραση γίνει αληθινή, μόνο τότε θα εκτελεστεί το μπλοκ των δηλώσεων που υπάρχουν μέσα στον βρόχο while. Για κάθε επανάληψη, θα ελέγχει την κατάσταση και θα εκτελεί το μπλοκ δηλώσεων έως ότου η συνθήκη γίνει εσφαλμένη.
Παράδειγμα:
number = 5 sum = 0 i = 0 while (i Παραγωγή:
10

Παραγωγή:

# 2) Για βρόχο:
Για βρόχο στο python χρησιμοποιείται για την εκτέλεση ενός μπλοκ δηλώσεων ή κώδικα αρκετές φορές έως ότου η δεδομένη συνθήκη γίνει εσφαλμένη.
Χρησιμοποιούμε το for for loop όταν γνωρίζουμε τον αριθμό των επαναλήψεων.
Σύνταξη:
for var in sequence: Block of code
Εδώ το var θα πάρει την τιμή από την ακολουθία και θα την εκτελέσει μέχρι να ολοκληρωθούν όλες οι τιμές της ακολουθίας.
Παράδειγμα:
language = (‘Python’, ‘Java’, ‘Ruby’) for lang in language: print(“Current language is: “, lang)
Παραγωγή:
Η τρέχουσα γλώσσα είναι: Python
Η τρέχουσα γλώσσα είναι: Java
Η τρέχουσα γλώσσα είναι: Ruby

Παραγωγή:

Για βρόχο χρησιμοποιώντας λειτουργία εύρους ():
Η συνάρτηση Range () χρησιμοποιείται για τη δημιουργία μιας ακολουθίας αριθμών.
Για παράδειγμα, Το εύρος (5) θα δημιουργήσει αριθμούς από 0 έως 4 (5 αριθμοί).
Παράδειγμα:
language = (‘Python’, ‘Java’, ‘Ruby’) for lang in range(len(language)): print(“Current language is: “, language(lang))
Παραγωγή:
Η τρέχουσα γλώσσα είναι: Python
Η τρέχουσα γλώσσα είναι: Java
Η τρέχουσα γλώσσα είναι: Ruby

Παραγωγή:

συμπέρασμα
Σε αυτό το σεμινάριο, είδαμε τον ορισμό των βρόχων, τους τύπους των βρόχων Python, τη χρήση του για βρόχο, και ενώ βρόχος με μερικά παραδείγματα.
Μάθαμε επίσης πώς ένθετοι βρόχοι δημιουργούνται και πεπερασμένους βρόχους επίσης και μάθαμε πώς να χρησιμοποιήσουμε το Διακοπή και να συνεχίσει λέξεις-κλειδιά.
=> Δείτε όλα τα εκπαιδευτικά προγράμματα Python εδώ
Εκπαιδευτικό πρόγραμμα PREV | ΕΠΟΜΕΝΟ Φροντιστήριο
Συνιστώμενη ανάγνωση
- Δηλώσεις ελέγχου Python (Python Continue, Break and Pass)
- Μεταβλητές Python
- Εκμάθηση Python για αρχάριους (ΔΩΡΕΑΝ Κατάρτιση Python)
- Δηλώσεις υπό όρους Python: if_else, elif, ένθετες εάν δηλώσεις
- Χειριστές Python
- Λειτουργίες συμβολοσειράς Python
- Εκμάθηση Python DateTime με παραδείγματα
- Λειτουργίες Python