Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

3.3 Η δήλωση while και η δήλωση for στην Python

Δήλωση while

Η δήλωση while στην Python χρησιμοποιείται για να εκτελέσει ένα μπλοκ κώδικα επαναληπτικά όσο μια συγκεκριμένη συνθήκη είναι αληθής (True). Η βασική μορφή της είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
while συνθήκη:
# Κώδικας που εκτελείται επαναληπτικά
while συνθήκη: # Κώδικας που εκτελείται επαναληπτικά
while συνθήκη:
    # Κώδικας που εκτελείται επαναληπτικά

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
count = 0
while count < 5:
print("count είναι λιγότερο από 5")
count += 1 # Αυτό είναι σημαντικό για να αποφευχθεί ένας άπειρος βρόχος
count = 0 while count < 5: print("count είναι λιγότερο από 5") count += 1 # Αυτό είναι σημαντικό για να αποφευχθεί ένας άπειρος βρόχος
count = 0

while count < 5:
    print("count είναι λιγότερο από 5")
    count += 1  # Αυτό είναι σημαντικό για να αποφευχθεί ένας άπειρος βρόχος

Στο παράδειγμα αυτό, η εντολή print θα εκτελεστεί 5 φορές, μέχρι η τιμή της count να γίνει 5, και τότε η συνθήκη του while θα γίνει ψευδής (False).

Αναμενόμενο αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5 count είναι λιγότερο από 5 count είναι λιγότερο από 5 count είναι λιγότερο από 5 count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5
count είναι λιγότερο από 5

Δήλωση for

Η δήλωση for χρησιμοποιείται για επαναλήψεις (loops) σε μια σειρά από αντικείμενα, όπως λίστες, συμβολοσειρές, εύρη κ.α. Η βασική μορφή της είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for μεταβλητή in συλλογή:
# Κώδικας που εκτελείται για κάθε στοιχείο της συλλογής
for μεταβλητή in συλλογή: # Κώδικας που εκτελείται για κάθε στοιχείο της συλλογής
for μεταβλητή in συλλογή:
    # Κώδικας που εκτελείται για κάθε στοιχείο της συλλογής

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for i in range(5):
print("i έχει τιμή", i)
for i in range(5): print("i έχει τιμή", i)
for i in range(5):
    print("i έχει τιμή", i)

Εδώ, η range(5) δημιουργεί μια σειρά αριθμών από το 0 έως το 4, και η δήλωση for εκτελεί την εντολή print για κάθε έναν από αυτούς τους αριθμούς.

Το αποτέλεσμα εκτέλεσης του κώδικα

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
i έχει τιμή 0
i έχει τιμή 1
i έχει τιμή 2
i έχει τιμή 3
i έχει τιμή 4
i έχει τιμή 0 i έχει τιμή 1 i έχει τιμή 2 i έχει τιμή 3 i έχει τιμή 4
i έχει τιμή 0
i έχει τιμή 1
i έχει τιμή 2
i έχει τιμή 3
i έχει τιμή 4

Και οι δύο δηλώσεις, while και for, είναι ισχυρά εργαλεία για τη διαχείριση επαναληπτικών εργασιών στην Python. Η επιλογή μεταξύ τους εξαρτάται από τη συγκεκριμένη λογική και τη δομή των δεδομένων που χρησιμοποιείτε.

Το όρισμα end της συνάρτησης print στην python

Η ενσωματωμένη συνάρτηση print στην Python εμφανίζει τα επιχειρήματά της και στη συνέχεια μετακινεί τον κέρσορα στην επόμενη γραμμή. Αυτή η συμπεριφορά μπορεί να αλλάξει με τη χρήση του επιχειρήματος end. Για παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
print(character, end=' ')
print(character, end=' ')
print(character, end=' ')

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

Η Python αποκαλεί το end ως ένα όρισμα κλειδί (keyword argument), αλλά το end καθαυτό δεν είναι λέξη-κλειδί της Python. Τα ορίσματα κλειδιά είναι γνωστά επίσης ως ονομαστικά επιχειρήματα (named arguments). Το όρισμα κλειδί end είναι προαιρετικό. Αν δεν το συμπεριλάβετε, η print χρησιμοποιεί από προεπιλογή τον χαρακτήρα νέας γραμμής ('\n').

Το Επιχείρημα sep της Συνάρτησης print στην Python

Η συνάρτηση print στην Python διαθέτει ένα επιχείρημα κλειδί με το όνομα sep, το οποίο είναι συντομογραφία του “separator” (διαχωριστής). Αυτό το επιχείρημα χρησιμοποιείται για να καθορίσετε τη συμβολοσειρά που θα εμφανίζεται μεταξύ των αντικειμένων που εμφανίζει η print. Όταν δεν καθορίζεται αυτό το επιχείρημα, η print χρησιμοποιεί από προεπιλογή ένα κενό διάστημα.

Παράδειγμα με Χρήση του sep

Ας εμφανίσουμε τρία νούμερα, το καθένα διαχωρισμένο από το επόμενο με ένα κόμμα και ένα κενό, αντί μόνο για ένα κενό:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
print(10, 20, 30, sep=', ')
print(10, 20, 30, sep=', ')
print(10, 20, 30, sep=', ')

Αυτή η εντολή θα εκτυπώσει 10, 20, 30.

Αφαίρεση Προεπιλεγμένων Κενών

Για να αφαιρέσετε τα προεπιλεγμένα κενά διαστήματα, μπορείτε να χρησιμοποιήσετε sep='' (δηλαδή μια κενή συμβολοσειρά):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
print(10, 20, 30, sep='')
print(10, 20, 30, sep='')
print(10, 20, 30, sep='')

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

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

Ακολουθίες, Λίστες και Επαναληπτές (Iterators) στην Python

Μια ακολουθία που χρησιμοποιείται στη δεξιά πλευρά του τελεστή in μιας δήλωσης for πρέπει να είναι επαναληπτική (iterable), δηλαδή ένα αντικείμενο από το οποίο η δήλωση for μπορεί να λάβει ένα στοιχείο κάθε φορά, μέχρι να μην υπάρχουν άλλα στοιχεία. Η Python διαθέτει διάφορους τύπους επαναληπτικών ακολουθιών εκτός από τις συμβολοσειρές. Ένας από τους πιο κοινούς τύπους είναι η λίστα, η οποία είναι μια συλλογή αντικειμένων χωρισμένων με κόμμα και περικλεισμένων σε αγκύλες ([ και ]).

Παράδειγμα με Λίστα

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Άθροισμα πέντε ακέραιων αριθμών σε λίστα
numbers = [1, 2, 3, 4, 5]
total = 0
for number in numbers:
total += number
print("Το άθροισμα είναι:", total)
# Άθροισμα πέντε ακέραιων αριθμών σε λίστα numbers = [1, 2, 3, 4, 5] total = 0 for number in numbers: total += number print("Το άθροισμα είναι:", total)
# Άθροισμα πέντε ακέραιων αριθμών σε λίστα
numbers = [1, 2, 3, 4, 5]
total = 0

for number in numbers:
    total += number

print("Το άθροισμα είναι:", total)

Όταν τον εκτελέσετε, το αποτέλεσμα θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Το άθροισμα είναι: 15
Το άθροισμα είναι: 15
Το άθροισμα είναι: 15

Ο βρόχος for περνά από κάθε στοιχείο της λίστας numbers και προσθέτει το στοιχείο στη μεταβλητή total. Στο τέλος της επανάληψης, η μεταβλητή total περιέχει το άθροισμα των αριθμών στη λίστα.

Επαναληπτές (Iterators)

Κάθε επαναληπτική ακολουθία έχει έναν επαναληπτή (iterator). Η δήλωση for χρησιμοποιεί τον επαναληπτή “πίσω από τις κουλίσες” για να λάβει κάθε συνεχόμενο στοιχείο μέχρι να μην υπάρχουν άλλα για επεξεργασία. Ο επαναληπτής λειτουργεί σαν ένα σελιδοδείκτη – γνωρίζει πάντα πού βρίσκεται στην ακολουθία, ώστε να μπορεί να επιστρέψει το επόμενο στοιχείο όταν κληθεί να το κάνει.

Λίστες στην Python

Οι λίστες στην Python είναι επαναληπτικές, η σειρά των στοιχείων μέσα σε μια λίστα έχει σημασία και τα στοιχεία της λίστας είναι μεταβαλλόμενα (mutable), δηλαδή μπορούν να τροποποιηθούν. Οι λεπτομέρειες για τις λίστες και τις παραλλαγές τους θα καλυφθούν αναλυτικότερα σε κεφάλαια που ασχολούνται ειδικά με τις ακολουθίες, όπως λίστες και πλειάδες (tuples).

Η Ενσωματωμένη Συνάρτηση range στην Python

Η συνάρτηση range στην Python είναι μια εξαιρετικά χρήσιμη ενσωματωμένη συνάρτηση που δημιουργεί μια ακολουθία αριθμών. Χρησιμοποιείται συχνά για να εκτελέσει επαναλήψεις (loops) με τις δηλώσεις for και while.

Βασική Χρήση

Η συνάρτηση range μπορεί να κληθεί με διάφορους τρόπους:

  1. range(stop): Δημιουργεί μια ακολουθία αριθμών από το 0 μέχρι (αλλά όχι συμπεριλαμβανομένου) τον αριθμό stop.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for i in range(5):
print(i) # Εκτυπώνει αριθμούς από το 0 έως το 4
for i in range(5): print(i) # Εκτυπώνει αριθμούς από το 0 έως το 4
   for i in range(5):
       print(i)  # Εκτυπώνει αριθμούς από το 0 έως το 4
  1. range(start, stop): Δημιουργεί μια ακολουθία από τον αριθμό start μέχρι (αλλά όχι συμπεριλαμβανομένου) τον αριθμό stop.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for i in range(1, 6):
print(i) # Εκτυπώνει αριθμούς από το 1 έως το 5
for i in range(1, 6): print(i) # Εκτυπώνει αριθμούς από το 1 έως το 5
   for i in range(1, 6):
       print(i)  # Εκτυπώνει αριθμούς από το 1 έως το 5
  1. range(start, stop, step): Δημιουργεί μια ακολουθία αριθμών από τον αριθμό start μέχρι (αλλά όχι συμπεριλαμβανομένου) τον αριθμό stop, με βήμα step.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for i in range(0, 10, 2):
print(i) # Εκτυπώνει αριθμούς από το 0 έως το 8 με βήμα 2 (0, 2, 4, 6, 8)
for i in range(0, 10, 2): print(i) # Εκτυπώνει αριθμούς από το 0 έως το 8 με βήμα 2 (0, 2, 4, 6, 8)
   for i in range(0, 10, 2):
       print(i)  # Εκτυπώνει αριθμούς από το 0 έως το 8 με βήμα 2 (0, 2, 4, 6, 8)

Χρήσεις της range

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

Η range δημιουργεί ακολουθίες που είναι πολύ αποδοτικές σε χρήση μνήμης, καθώς δεν δημιουργεί όλους τους αριθμούς εκ των προτέρων, αλλά παράγει τον κάθε αριθμό κατά τη διάρκεια της επανάληψης. Αυτό καθιστά την range ιδανική για διαχείριση μεγάλων εύρων αριθμών.

10 Ιανουαρίου, 2024
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων