Στη γλώσσα προγραμματισμού Python (επίσης Python)ή "Python") υπάρχουν αρκετοί τρόποι για να βρούμε κάποια ενέργεια. Τα κύρια εργαλεία για την υλοποίηση οποιουδήποτε είδους επανάληψης στην Python είναι ενώ και για βρόχους. Ο βρόχος while είναι πιο καθολικός από ό, τι για, έτσι τρέχει πιο αργά. Ωστόσο, αυτό δεν σημαίνει ότι είναι καλύτερος! Το for loop χρησιμοποιείται πολύ συχνότερα, επειδή μπορεί να χρησιμοποιηθεί για την υλοποίηση των πιο περίπλοκων εργασιών για τη δημιουργία προγραμμάτων πολλαπλών επιπέδων και πολλαπλών προϋποθέσεων.
Python: βρόχος μετασύνδεσης
Οι βρόχοι μετά την προϋπόθεση είναι ενώ βρόχοι ότιείναι οι πιο ευέλικτες οργανωτικές δομές σε ένα δεδομένο περιβάλλον προγραμματισμού. Ο βρόχος while λειτουργεί με βάση "μέχρι". Αυτό σημαίνει τα εξής: εφ 'όσον κάποια κατάσταση επιστρέφει την πραγματική τιμή, θα λειτουργήσει! Αυτή η κατασκευή ονομάζεται "κύκλος" επειδή ο λειτουργικός έλεγχος επαναλαμβάνεται κυκλικά αρχίζοντας από την αρχική τιμή. Η έξοδος από το βρόχο while στη Python θα εφαρμοστεί τη στιγμή που η τιμή γίνεται ψευδής. Σε αυτό το σημείο, ο διερμηνέας περνά την εκτέλεση του προγράμματος στο επόμενο λειτουργικό-σημασιολογικό τμήμα, δηλαδή μια νέα γραμμή που βρίσκεται μετά το μπλοκ με την μετα-κατάσταση ενώ.
Στη γλώσσα προγραμματισμού Python, οι βρόχοι με την μεταβατική προϋπόθεση έχουν την ακόλουθη σύνταξη:
1. Ενώ (προϋπόθεση): 2. έκφραση |
Μια έκφραση μπορεί να είναι είτε μία εντολή είτε μίαμερικά. Μια προϋπόθεση είναι πάντα κάποια πραγματική τιμή ή μη μηδέν. Μια παρόμοια κατασκευή λειτουργεί εφ 'όσον η δεδομένη συνθήκη είναι αληθής.
Χρησιμοποιώντας ένα βρόχο while στη Python χρησιμοποιώντας ένα παράδειγμα
Σκεφτείτε ένα βρόχο. Η Python διαρθρώνει τις επαναλήψεις της αρκετά ενδιαφέρουσα:
α = 0 |
Δηλώσαμε τη μεταβλητή "a" και την θέσαμε στο μηδέναξία. Στη συνέχεια, ορίσαμε την προϋπόθεση "ενώ ένα <7", δηλαδή, ενώ η μεταβλητή "a" είναι μικρότερη από τον αριθμό "7", τότε ο κύκλος μας θα εκτελεστεί μέχρι να γίνει ψευδής.
Και θα γίνει ψευδής (δηλαδή, θα βγει από το βρόχο) όταν η μεταβλητή γίνει μεγαλύτερη από τον αριθμό "7". Για να συμβεί αυτό, κάθε φορά που αυξάνεται κατά 1, που υποδεικνύεται στη γραμμή "a = a + 1".
Εάν εκτελέσετε αυτό το σχέδιο, τότε το γράμμα "A" θα εμφανίζεται 7 φορές σε μια στήλη!
Α |
Python ατελείωτο βρόχο
Πώς να κάνετε ατελείωτο ενώ βρόχο στην Python;Δεν είναι καθόλου δύσκολο να μαντέψουμε, επειδή ο κύκλος λειτουργεί μέχρι να πάρει μια ψευδή αξία και αν αυτή η τιμή απλά δεν υπάρχει; Η απάντηση στην ερώτηση, πιθανώς, είναι ήδη σαφής σε όλους. Σε ποιες περιπτώσεις χρειάζεται ένας άπειρος βρόχος για την επίλυση ενός προβλήματος; Ένα δεδομένο παράδειγμα θα ήταν η εφαρμογή ενός προγράμματος όπως ένα ρολόι. Εδώ, αναμφισβήτητα, θα είναι απαραίτητο να χρησιμοποιήσετε έναν άπειρο βρόχο που θα ενημερώνει μόνιμα και θα δείχνει χρόνο.
Ένας άπειρος βρόχος είναι πολύ συχνά το λάθος των αρχάριων προγραμματιστών που ξεχνούν να προσθέσουν αλλαγές στις συνθήκες του κύκλου.
Ας ρίξουμε μια ματιά στο ακόλουθο απόσπασμα του κώδικα Python. Οι βρόχοι σε αυτήν την περίπτωση επαναλαμβάνονται ατέρμονα (μετά το σύμβολο "#" υπάρχει ένα σχόλιο):
αριθμός = 1 # δηλώστε τον μεταβλητό αριθμό και αντιστοιχίστε την τιμή 1 ενώ ο αριθμός <10: # δημιουργεί μια μεταβατική προϋπόθεση στην οποία ο αριθμός είναι μικρότερος από 10 print "Hello" # πληρούν την προϋπόθεση (εκτυπώστε το μήνυμα "Hello") |
Ένα τέτοιο πρόγραμμα δεν πρέπει να βιαστεί για να συγκεντρώσει,γιατί θα εκτελεστεί ατέλειωτα. Θέτουμε τέτοιες συνθήκες κάτω από τις οποίες δεν θα υπάρξει ποτέ μια ψευδής τιμή: η προϋπόθεση "αριθμός <10" σε αυτή την περίπτωση είναι αμετάβλητη και αληθής, επομένως η επανάληψη θα διεξαχθεί συνεχώς, εμφανίζοντας το Ν ο αριθμός μηνυμάτων "Hello". Για να σταματήσετε την αιώνια διαδικασία σύνταξης, θα χρειαστεί να πατήσετε το συνδυασμό πλήκτρων Ctrl + C στο κέλυφος.
Python: σύνταξη. Ενώ και για βρόχους
Όπως αναφέρθηκε παραπάνω, στη γλώσσαΠρογραμματισμός Python Υπάρχουν διάφοροι τρόποι οργάνωσης της επανάληψης μιας ομάδας εκφράσεων. Ο διάλογος για το βρόχο έρχεται στη διάσωση, ο οποίος είναι ελαφρώς διαφορετικός από τον αντίκτυπό του, διότι η κατασκευή του είναι κάπως πιο περίπλοκη από μια μεταγενέστερη προϋπόθεση. Δεν θα μιλήσουμε για την καθολικότητα αυτού του βρόχου, καθώς απλώς δεν υπάρχει, ωστόσο, μπορεί να σημειωθεί ότι ο βρόχος για λειτουργεί πολύ πιο γρήγορα από ό, τι ενώ. Οι πολλοί τρόποι επίλυσης και η ταχύτητα αυτού του σχεδιασμού ξεπερνούν τον κύκλο με την μεταβατική προϋπόθεση, επομένως χρησιμοποιείται πολύ συχνότερα για την εκτέλεση πολλών ασήμαντων καθηκόντων.
Ποιες είναι οι προκλήσεις για το loop;Αναμφισβήτητα, το ίδιο με όσο και - επαναλαμβάνουμε τις διαδικασίες. Στα προγράμματα που εκτελούνται στο "Python", ο βρόχος for χρησιμοποιείται ευρέως, ο οποίος είναι ικανός να εφαρμόσει ένα πέρασμα ενός δεδομένου συνόλου στοιχείων και να εκτελέσει διάφορες επαναλήψεις επάνω τους στο σώμα του. Οι δυνατότητες αυτής της κατασκευής μπορούν να εφαρμοστούν στην επεξεργασία των συμβολοσειρών ή των λιστών με τον ίδιο τρόπο όπως οποιοδήποτε άλλο επαναληπτικό αντικείμενο.
Python για παράδειγμα
Υποθέστε ότι έχουμε μια λίστα αριθμών και πρέπει να αυξήσουμε κάθε στοιχείο (δηλ. Τον αριθμό) κατά τρεις μονάδες. Μπορούμε να πετύχουμε αυτό το έργο με βρόχο, χρησιμοποιώντας τον βρόχο για.
Ας δούμε ένα μικρό παράδειγμα όπου θα εκτελέσουμε τις κατάλληλες ενέργειες για αυτό (μετά το σύμβολο "#" υπάρχει ένα σχόλιο):
spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # δηλώνεται ένας πίνακας που περιέχει 10 ψηφία count = 0 # δημιούργησε έναν μετρητή με μηδενική τιμή για τα στοιχεία του spisok_chisel: # επαναλάβετε πάνω από τον πίνακα και γράψτε τα σε στοιχεία spisok_chisel [count] = στοιχεία + 3 # ο αριθμός από τον πίνακα αυξάνεται κατά τρεις count = count + 1 # μεταβείτε στον επόμενο αριθμό ανά ευρετήριο |
Το αποτέλεσμα της παραπάνω κατασκευής θα είναι το ακόλουθο:
list_number = y8, 18, 28, 38, 48, 58, 68, 78, 88, 98 |
Στο παράδειγμά μας, υπάρχει ένας αριθμός μεταβλητών, ο οποίοςπρέπει να σημειώσουμε μεταβαλλόμενες τιμές στη συστοιχία "spisok_chisel". Η μεταβλητή μέτρησης καταγράφει τις τιμές ευρετηρίου κάθε στοιχείου στη συστοιχία (κάθε αριθμός στη λίστα). Η μεταβλητή "στοιχεία" δεσμεύει τις προκύπτουσες τιμές στη λίστα. Στο βρόχο for, παρατηρούμε πως εφαρμόζεται η επεξεργασία κάθε αριθμητικού αντικειμένου στη λίστα. Μέσα στο βρόχο, κάθε αριθμητικό αντικείμενο με τον δείκτη "count" προστίθεται με το άθροισμα του τρέχοντος επαναληπτικού στοιχείου και τριπλό. Στη συνέχεια, ο δείκτης μας "count" αυξάνεται κατά ένα και η ροή του προγράμματος επιστρέφει στην αρχή της δήλωσης του construct. Έτσι, ο βρόχος θα λειτουργήσει μέχρι να επεξεργαστεί κάθε στοιχείο στη συστοιχία που καθορίζεται από την κατάσταση. Εάν κάποιο στοιχείο λείπει, αλλά καθορίζεται από την προϋπόθεση, η διαδικασία βρόχου θα ολοκληρωθεί. Ας δώσουμε προσοχή σε μια ακόμη απόχρωση: αν δεν γράψετε τη γραμμή "count = count + 1", τότε παρά το γεγονός ότι τα αντικείμενα array επεξεργάζονται με επιτυχία, το αποτέλεσμα θα προστίθεται συνεχώς στο πρώτο αριθμητικό αντικείμενο με μηδενικό δείκτη.
Τώρα μπορούμε να θυμηθούμε τις αρχές της εργασίαςενώ βγάζει βρόχο και ανιχνεύει τη διαφορά (υπενθυμίζουμε ότι στην Python, η έξοδος από έναν βρόχο με μια postcondition βασίζεται σε λογικά κριτήρια - true (ο βρόχος συνεχίζει να λειτουργεί) ή false (ο βρόχος σταματάει)).
Πώς να χειριστείτε την τιμή συμβολοσειράς στη Python χρησιμοποιώντας το construct;
Κάθε γλώσσα προγραμματισμού έχει κύκλους,και λειτουργούν, κατά κανόνα, με την ίδια αρχή, οι διαφορές παρατηρούνται μόνο στη σύνταξη. Ωστόσο, ο βρόχος για τη γλώσσα Python δεν είναι συνηθισμένος και ασήμαντος, επειδή η αρχή της λειτουργίας του δεν περιορίζεται στον μετρητή. Αυτός ο σχεδιασμός επαναλαμβάνεται πάνω από κάθε στοιχείο ξεχωριστά. Όλα αυτά είναι εύκολο να εξηγηθούν χρησιμοποιώντας τις συμβολοσειρές ως παράδειγμα, αλλά πρώτα, ας δούμε τη σύνθεση του βρόχου για:
για μεταβλητή
η μεταβλητή αποθηκεύει το αποτέλεσμα του βρόχου
σε μεταβλητή_2
η λέξη-κλειδί "in" είναι απαραίτητη προϋπόθεσηόταν εργάζεστε με το βρόχο. Από τη μεταβλητή_2 εξάγουμε την τιμή που θα επαναλάβουμε. Για λόγους σαφήνειας και σαφήνειας, ας δούμε ένα μικρό παράδειγμα για το πώς να δουλέψουμε και να επαναλάβουμε τις συμβολοσειρές της Python:
char = 'programming' # Δηλώνει μια μεταβλητή και της αποδίδει μια τιμή συμβολοσειράς για το word in char: # Δημιουργήστε μια μεταβλητή λέξης, η οποία θα αποθηκεύσει τους δείκτες απαρίθμησης από τη μεταβλητή char print (word, end = '^') # Εκτυπώνουμε λέξη και μετά από κάθε γράμμα εισάγουμε ένα σύμβολο - ένα πουλί. |
Το αποτέλεσμα του σεναρίου:
Π ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ |
Συνέχεια δήλωσης
Ο τελεστής συνέχισης πραγματοποιεί τη μετάβαση στον επόμενο κύκλο που καθορίζεται από την κατάσταση, ανεξάρτητα από το υπόλοιπο του σώματος του κύκλου. Μπορείτε να χρησιμοποιήσετε τον τελεστή συνεχίσεων σε δύο βρόχους - για και όσο.
Εξετάστε ένα παράδειγμα:
για να μετρήσετε 'επαναλάβετε κάθε γράμμα εκτός από' αν count == 'o': συνεχίστε εκτύπωση (αριθμός * 2, τέλος = '') |
Το αποτέλεσμα θα είναι το εξής:
Ppvvtrriimm kkazhdyuyuyu bbuukkvvuu, kkrrmmee |
Όταν ο χειριστής βρήκε το γράμμα "o" στη συμβολοσειρά«Επαναλαμβάνουμε κάθε γράμμα, εκτός από», η εκτέλεση του προγράμματος μεταφέρθηκε αμέσως στη γραμμή μετά τη λέξη «συνέχεια», όπου από την προϋπόθεση ότι κλήθηκε να αντιγράψει κάθε γράμμα.
Διακοπή δήλωση
Η λέξη-κλειδί "break" εισάγεται στο σημείοόπου ο κύκλος θα πρέπει να διακόπτεται χωρίς να περιμένει την ολοκλήρωσή του, η οποία καθορίστηκε από την προϋπόθεση. Αυτή η κατασκευή χρησιμοποιείται πολύ συχνά όταν γράφετε προγράμματα με πολλές λογικές και συνθήκες.
Εξετάστε ένα μικρό παράδειγμα της δήλωσης σπασίματος:
για να μετρήσετε 'επαναλάβετε κάθε γράμμα εκτός από' αν count == 'o': σπάσει εκτύπωση (αριθμός * 2, τέλος = '') |
Το αποτέλεσμα θα είναι το εξής:
σ |
Όταν ο χειριστής βρήκε το γράμμα "o" στη γραμμή "επαναλαμβάνουμε κάθε γράμμα, εκτός από, o ', η εκτέλεση του προγράμματος σταμάτησε αμέσως, παρά το γεγονός ότι η επόμενη γραμμή περιέχει κάποιες προϋποθέσεις για τον βρόχο.
Μαγεία άλλη λέξη
Σε έναν βρόχο οποιουδήποτε είδους, μπορείτε να χρησιμοποιήσετε την εντολή else.Γιατί είναι; Ελέγχει εάν η έξοδος από τον βρόχο ολοκληρώθηκε με μεθόδους διακοπής ή με τον συνήθη τρόπο. Ένα μπλοκ με τους δεδομένους κανόνες μέσα στο άλλο θα ξεκινήσει την υλοποίηση μόνο αν ο βρόχος εξέρχεται χωρίς το σπάσιμο κατασκευής.
Εξετάστε ένα μικρό παράδειγμα:
για να μετρήσετε τον «γεια κόσμο»: εάν μετράνε == 'i': σπάσει αλλού: print ('Η φράση σας δεν έχει το γράμμα' I '') |
Το αποτέλεσμα του σεναρίου:
Η φράση σας δεν έχει το γράμμα "I" |
Παραδείγματα βρόχου σειράς παραγγελίας στη γλώσσα προγραμματισμού Python
Πώς εφαρμόζεται ο αντίστροφος βρόχος στην Python; Ας φανταστούμε ότι γράφουμε ένα πρόγραμμα που θα πρέπει να αναγνωρίζει μια συμβολοσειρά χαρακτήρων και να το εκτυπώνει με αντίστροφη σειρά. Πώς να το εφαρμόσετε;
Εξετάστε το παρακάτω παράδειγμα:
λέω = 'προγραμματισμός' new_slovo = [] για μέτρηση στην περιοχή (len (s), 0, -1): new_slovo.append (s [i-1]) new_slovlo "r", "o", "r", "a", "m", "m", "r" a ',' n ',' και ',' e '] εκτύπωση (new_slovo) "r", "o", "r", "a", "m", "m", "r" a ',' n ',' και ',' e '] εκτύπωση (''. join (new_slovo)) |
Το αποτέλεσμα του σεναρίου:
einavorimmargorp |
Φυσαρισμένοι βρόχοι
Στη γλώσσα προγραμματισμού Python υπάρχουν βρόχοιεπίσης ένθετα, δηλαδή, τοποθετημένα στο σώμα του άλλου. Κάθε κύκλος μπορεί να έχει τον δικό του ενσωματωμένο κύκλο και έτσι μπορείτε να φτιάξετε μια σκάλα στο άπειρο. Στην πρώτη επανάληψη, ο εξωτερικός βρόχος καλεί τον εσωτερικό βρόχο, ο οποίος τρέχει μέχρι να ολοκληρωθεί, οπότε όλος ο έλεγχος επαναπροσανατολίζεται στο σώμα του εξωτερικού βρόχου. Κάθε γλώσσα έχει τις δικές της ιδιαιτερότητες των ένθετων βρόχων, οπότε ας δούμε πώς λειτουργούν στη γλώσσα προγραμματισμού Python.
Εάν χρησιμοποιούνται ένθετοι βρόχοι, η Python προσφέρει την ακόλουθη σύνταξη:
για μεταβλητή σε διαδοχική μεταβλητή: για μεταβλητή σε διαδοχική μεταβλητή δράση (-ες) δράση (-ες) |
Τα χαρακτηριστικά των ένθετων βρόχων περιλαμβάνουνότι μέσα σε έναν κύκλο οποιουδήποτε τύπου, μπορείτε επίσης να χρησιμοποιήσετε οποιοδήποτε τύπο κύκλου! Αυτό σημαίνει ότι ένας βρόχος για μπορεί να είναι ενωμένος σε μια στιγμή (ή για) βρόχο, ή πάλι, ενώ, και αντίστροφα.