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
Bucle
Există două tipuri de bucle în Python, for și while.
Bucle "for"
Buclele for iterează peste o secvență dată. Iată un exemplu:
primes = [2, 3, 5, 7]
for prime in primes:
print(prime)
Buclele for pot itera peste o secvență de numere utilizând funcțiile "range" și "xrange". Diferența dintre range și xrange este că funcția range returnează o nouă listă cu numerele din acel interval specificat, în timp ce xrange returnează un iterator, care este mai eficient. (Python 3 folosește funcția range, care se comportă ca xrange). Rețineți că funcția range începe de la zero.
# Afișează numerele 0,1,2,3,4
for x in range(5):
print(x)
# Afișează 3,4,5
for x in range(3, 6):
print(x)
# Afișează 3,5,7
for x in range(3, 8, 2):
print(x)
Bucle "while"
Buclele while se repetă atâta timp cât o anumită condiție booleană este îndeplinită. De exemplu:
# Afișează 0,1,2,3,4
count = 0
while count < 5:
print(count)
count += 1 # Același lucru ca și count = count + 1
Instrucțiunile "break" și "continue"
break este folosit pentru a ieși dintr-o buclă for sau while, în timp ce continue este folosit pentru a sări peste blocul curent și a reveni la instrucțiunea "for" sau "while". Câteva exemple:
# Afișează 0,1,2,3,4
count = 0
while True:
print(count)
count += 1
if count >= 5:
break
# Afișează doar numerele impare - 1,3,5,7,9
for x in range(10):
# Verifică dacă x este par
if x % 2 == 0:
continue
print(x)
Putem folosi clauza "else" la bucle?
Spre deosebire de limbaje precum C, CPP.. putem folosi else la bucle. Când condiția buclei "for" sau "while" nu mai este îndeplinită, atunci partea de cod din "else" este executată. Dacă o instrucțiune break este executată în interiorul buclei for, atunci partea "else" este sărită. Rețineți că partea "else" este executată chiar dacă există o instrucțiune continue.
Iată câteva exemple:
# Afișează 0,1,2,3,4 și apoi afișează "valoarea count a ajuns la 5"
count=0
while(count<5):
print(count)
count +=1
else:
print("valoarea count a ajuns la %d" %(count))
# Afișează 1,2,3,4
for i in range(1, 10):
if(i%5==0):
break
print(i)
else:
print("acesta nu este afișat deoarece bucla for este terminată din cauza break și nu din lipsa de îndeplinire a condiției")
Exercițiu
Iterează și afișează toate numerele pare din lista numbers în aceeași ordine în care sunt primite. Nu afișa niciun număr care vine după 237 în secvență.
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!