Kilpos yra esminis bet kurios programavimo ar scenarijaus kalbos bruožas. Galimybė atlikti užduotį kelis kartus yra būtina bet kuriai kalbai.
„Python“ sistemoje ciklas pasiekiamas naudojant for
ir while
kilpos ir šiame straipsnyje mes apžvelgiame, kaip jas panaudoti su pavyzdžiais.
for
kilpa pitone gali būti naudojama įvairiai. Vienas paprastas ir labiausiai paplitęs būdas kartoti kolekciją.
for i in collection:
statement
Kolekcija gali būti sąrašas, rinkinys, diapazonas ir kt. I yra kintamasis, kuris ima iteruojamo elemento vertę.
my_list = [1, 2, 3, 4, 5] for i in my_list:
print('Value is:', i)
Išvestis:
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5
Galite pamatyti, kaip sąrašas kartojamas nuo pradžios iki pabaigos.
Diapazono metodas pitone naudojamas kuriant seką tarp tam tikros ribos. Tarkime, kad jūs neturite sąrašo, bet norite pereiti prie kažko nurodytą skaičių kartų. Galite naudoti range()
metodas.
for i in range(5):
print(i)
Išvestis:
0 1 2 3 4
Pastaba:reikšmės yra nuo 0 iki 4, o ne nuo 0 iki 5.range()
funkcija grąžina skaičių seką, pradedant nuo 0 pagal numatytuosius nustatymus, didinant 1 (pagal numatytuosius nustatymus) ir baigiasi nurodytu skaičiumi.
Jei norėjome turėti kitokią pradinę vertę ir kitą prieaugio vertę, naudojame:
for i in range(10, 30, 5): print(x)
Išvestis:
10 15 20 25
Ankstesniame pavyzdyje mes pradedame nuo 10, mes nutraukiame 25 ir padidiname 5.
else
raktinis žodis for
ciklas nurodo kodo bloką, kuris bus vykdomas baigus kilpą.
for i in range(6): print(i) else: print('Finished looping.')
Išvestis:
0 1 2 3 4 5 Finished looping.
Pastaba:if
sakinys, kita blokas vykdomas tik tada, kai sąlyga yra klaidinga, tačiau for
kilpoje else
blokas visada vykdomas.Mes galime turėti for
kilpa kito viduje for
kilpa. Tai vadinama įdėta kilpa.
„Vidinė kilpa“ bus vykdoma vieną kartą kiekvienai „išorinės kilpos“ iteracijai.
Pavyzdys:
numbers = [1, 2, 3] chars = ['a', 'b', 'c'] for i in numbers: for y in chars:
print(x, y)
Išvestis:
1 a 1 b 1 c 2 a 2 b 2 c 3 a 3 b 3 c
while
ciklas vykdo sakinių rinkinį tol, kol yra sąlyga.
Pavyzdžiui:
i = 1 while i < 5:
print('Hello world')
i = i + 1
Pastaba:mes turime padidinti i vertę, kitaip kilpa bus vykdoma amžinai.Kitas teiginys, esantis while
ciklas vykdomas vieną kartą, kai sąlyga nebetiesa.
Pavyzdžiui:
i = 1 while i < 5:
print('Hello world')
i = i + 1 else:
print('The execution has ended')
Išvestis:
Hello world Hello world Hello world Hello world The execution has ended
Pertraukos sakinys naudojamas, jei norite nutraukti ciklo vykdymą tam tikru momentu.
Šiame pavyzdyje norime sustabdyti kilpą, kai susidursime su „c“ ženklu:
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
print(i)
if i == 'c':
print(''c' encountered. Breaking the loop')
break
Išvestis:
a b c 'c' encountered. Breaking the loop
Raktinis žodis tęsti naudojamas norint praleisti teiginį ir tęsti likusią ciklo dalį tam tikram kartojimui.
Toliau pateiktame pavyzdyje norime tęsti kilpą, kai susidursime su „c“:
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
if i == 'c':
continue
print(i)
Išvestis:
a b d e
Atkreipkite dėmesį, kad „c“ nėra atspausdintas. Kilpa toliau spausdina „d“ ir „e“.
for
ir while
iteracijai naudojamos kilposfor
kilpą pitone taip pat galima naudoti su range()
metodas. Galite pateikti ir apatinę, ir viršutinę ribas, arba tik viršutinę. Pastaruoju atveju 0 bus laikoma apatine ribafor
ciklas, kai žinote, kiek kartų ciklas turėtų būti vykdomaswhile
kilpa turi sąlygą ir ji veikia tol, kol sąlyga yra klaidingawhile
kilpa visada turėtų turėti mechanizmą, kad sulaužytų sąlygą, kitaip kilpa veiks amžinaielse
bloką galima naudoti su for
ir while
kilpa. Jis visada vykdomas.break
raktinis žodis naudojamas vykdymui nutraukti. Jei bus rodomas pertraukos raktinis žodis, daugiau kartoti nebus.continue
raktinis žodis praleidžia dabartinę kartojimą ir pereina tiesiai į kitą kartojimą.