Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Βρόχοι
Υπάρχουν δύο τύποι βρόχων στην 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 στην ακολουθία.
numbers = [
951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
743, 527
]
# your code goes here
for number in numbers:
numbers = [
951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
743, 527
]
# your code goes here
for number in numbers:
if number == 237:
break
if number % 2 == 1:
continue
print(number)
test_object("number", undefined_msg="Define a object `number` using the code from the tutorial to print just the desired numbers from the exercise description.",incorrect_msg="Your `number` object is not correct, You should use an `if` statement and a `break` statement to accomplish your goal.")
success_msg("Great work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!