ΓΠ-Π.Υ.-Python-Κεφ. 4.1.3.a. Δομή επανάληψης (for και while) σελ. 51-52 σχολικού βιβλίου Συχνά, σε ένα πρόγραμμα είναι αναγκαίο μια ομάδα εντολών να εκτελείται περισσότερες από μία φορές.
Υπάρχουν δύο τύποι επαναλήψεων:
Α) Οι
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while τύποι επαναλήψεων, όπου το πλήθος των επαναλήψεων το γνωρίζουμε πριν αρχίσουν οι επαναλήψεις.
Π.χ. ο υπολογισμός του μέσου όρου βαθμολογίας μιας τάξης
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while μαθητών.
Στην Python χρησιμοποιούμε την εντολή
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while για να εκτελεστεί ένα τμήμα του κώδικα για έναν
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while αριθμό επαναλήψεων.
Β) Οι
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while τύποι επαναλήψεων, όπου το πλήθος των επαναλήψεων καθορίζεται κατά τη διάρκεια της εκτέλεσης των εντολών της επανάληψης.
Π.χ. ο υπολογισμός των μορίων
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while υποβάλλουν αίτηση σε ένα διαγωνισμό του Δημοσίου.
Στην Python χρησιμοποιούμε την εντολή
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while για να εκτελεστεί ένα τμήμα του κώδικα υπό συνθήκη, για όσο η συνθήκη παραμένη
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while .
Α) Χρήση της εντολής for για προκαθορισμένο τύπο επαναλήψεων Στην εντολή for χρησιμοποιείται η συνάρτηση
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while για τον καθορισμό των επαναλήψεων.
Η σύνταξη της εντολής for είναι:
for onoma_metavlitis
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while (
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ,
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ,
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ):
Εντολή_1
Εντολή_2
...
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while Δραστηριότητα: Χρήση της εντολής for Να γραφεί αλγόριθμος και το αντίστοιχο πρόγραμμα σε γλώσσα Python που να υπολογίζει το άθροισμα των περιττών αριθμών από το 1 έως και το 100. Πρόγραμμα σε Python:
# Πρόγραμμα, αθροίζω περιττούς
athroisma =
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while i
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while (
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ,
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ,
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ):
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while =
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while i
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ' To αποτέλεσμα είναι ',
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while H συνάρτηση range H range() είναι μια
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while συνάρτηση της γλώσσας Python, η οποία χρησιμοποιείται για την υπόδειξη του αριθμού
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while που θα εκτελεστούν σε ένα
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while .
Η σύνταξη της range() είναι της μορφής range(
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ,
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ,
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ), όπου αρχή, μέχρι, βήμα ακέραιοι αριθμοί.
Οι ενδείξεις της αρχής και του βήματος
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while υποχρεωτικές και, αν δεν αναφέρονται, θα αρχίσει από το
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while και θα συνεχίσει με βήμα
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while .
Αντίθετα η ένδειξη '
Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ' πρέπει πάντα να αναφέρεται.
Παραδείγματα:
1) range(10), παράγει τη λίστα: [ Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ].
2) range( Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ), παράγει τη λίστα: [1,2,3,4,5,6,7]
3) range( Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while , Εντολή_ν αληθής αρχή βήμα βρόχο δεκαεπτά (17) δεν είναι ενσωματωμένη μέχρι μη προκαθορισμένοι προκαθορισμένο προκαθορισμένοι των επαναλήψεων όσων + 0 1 -1 100 2 3 4 5 6 7 8 9 athroisma for in in range print range range() while ), παράγει τη λίστα [8, 7, 6, 5, 4, 3, 2, 1, 0]