Skip to content

Latest commit

 

History

History
83 lines (58 loc) · 4.07 KB

File metadata and controls

83 lines (58 loc) · 4.07 KB

Υπάρχουν δύο τύποι βρόχων στην Python, for και while.

Ο βρόχος "for"

Οι βρόχοι for επαναλαμβάνονται πάνω από μια καθορισμένη ακολουθία. Εδώ είναι ένα παράδειγμα:

primes = [2, 3, 5, 7]
for prime in primes:
    print(prime)

Οι βρόχοι for μπορούν να επαναληφθούν σε μια ακολουθία αριθμών χρησιμοποιώντας τις συναρτήσεις "range" και "xrange". Η διαφορά μεταξύ της range και της xrange είναι ότι η συνάρτηση range επιστρέφει μια νέα λίστα με αριθμούς από το συγκεκριμένο εύρος, ενώ η xrange επιστρέφει έναν επαναληπτικό δείκτη, ο οποίος είναι πιο αποδοτικός. (Η Python 3 χρησιμοποιεί τη συνάρτηση range, η οποία λειτουργεί όπως η xrange). Σημειώστε ότι η συνάρτηση range είναι μηδενικής βάσης.

# Εκτυπώνει τους αριθμούς 0,1,2,3,4
for x in range(5):
    print(x)

# Εκτυπώνει 3,4,5
for x in range(3, 6):
    print(x)

# Εκτυπώνει 3,5,7
for x in range(3, 8, 2):
    print(x)

Βρόχοι "while"

Οι βρόχοι while επαναλαμβάνονται όσο μια συγκεκριμένη λογική συνθήκη είναι αληθής. Για παράδειγμα:

# Εκτυπώνει 0,1,2,3,4

count = 0
while count < 5:
    print(count)
    count += 1  # Αυτό είναι το ίδιο με το count = count + 1

Δηλώσεις "break" και "continue"

Η δήλωση break χρησιμοποιείται για να διακόψει έναν βρόχο for ή while, ενώ η continue χρησιμοποιείται για να παρακάμψει το τρέχον μπλοκ και να επιστρέψει στη δήλωση "for" ή "while". Μερικά παραδείγματα:

# Εκτυπώνει 0,1,2,3,4

count = 0
while True:
    print(count)
    count += 1
    if count >= 5:
        break

# Εκτυπώνει μόνο περιττούς αριθμούς - 1,3,5,7,9
for x in range(10):
    # Έλεγχος αν το x είναι άρτιος
    if x % 2 == 0:
        continue
    print(x)

Μπορούμε να χρησιμοποιήσουμε το "else" με τους βρόχους;

Σε αντίθεση με γλώσσες όπως C, CPP.. μπορούμε να χρησιμοποιήσουμε το else με τους βρόχους. Όταν η συνθήκη του βρόχου "for" ή "while" αποτύχει τότε το τμήμα κώδικα στο "else" εκτελείται. Αν μια δήλωση break εκτελεστεί μέσα στο βρόχο for τότε το τμήμα "else" παραλείπεται. Σημειώστε ότι το τμήμα "else" εκτελείται ακόμα και αν υπάρχει μια δήλωση continue.

Εδώ είναι μερικά παραδείγματα:

# Εκτυπώνει 0,1,2,3,4 και στη συνέχεια εκτυπώνει "count value reached 5"

count=0
while(count<5):
    print(count)
    count +=1
else:
    print("count value reached %d" %(count))

# Εκτυπώνει 1,2,3,4
for i in range(1, 10):
    if(i%5==0):
        break
    print(i)
else:
    print("this is not printed because for loop is terminated because of break but not due to fail in condition")

Άσκηση

Περάστε το βρόχο και εκτυπώστε όλους τους άρτιους αριθμούς από τη λίστα αριθμών με την ίδια σειρά που λήφθηκαν. Μην εκτυπώσετε κανέναν αριθμό που έρχεται μετά τον αριθμό 237 στην ακολουθία.