Silmused on mis tahes programmeerimis- või skriptikeele oluline omadus. Võimalus mitu korda ülesannet täita on iga keele jaoks ülioluline.
Pythonis saavutatakse silmus for
abil ja while
silmuseid ja selles artiklis uurime, kuidas neid koos näidetega kasutada.
for
loopi Pythonis saab kasutada mitmel viisil. Üks lihtne ja levinum viis kogu kordamiseks.
for i in collection:
statement
Kogumik võib olla loend, komplekt, vahemik jne. I on muutuja, mis võtab itereeritava elemendi väärtuse.
my_list = [1, 2, 3, 4, 5] for i in my_list:
print('Value is:', i)
Väljund:
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5
Näete, kuidas loendit itereeritakse algusest lõpuni.
Püütoni vahemikumeetodit kasutatakse kindla piiri vahelise järjestuse loomiseks. Oletame, et teil pole loendit, kuid soovite teatud arvu kordi millegi üle vaadata. Võite kasutada range()
meetod.
for i in range(5):
print(i)
Väljund:
0 1 2 3 4
Märge:väärtused on vahemikus 0 kuni 4, mitte 0 kuni 5.range()
Funktsioon tagastab arvude järjestuse, mis algab vaikimisi 0-st ja kasvab 1 võrra (vaikimisi) ning lõpeb määratud numbriga.
Kui tahtsime saada erinevat algväärtust ja erinevat juurdekasvu, kasutame järgmist:
for i in range(10, 30, 5): print(x)
Väljund:
10 15 20 25
Ülaltoodud näites alustame 10-st, lõpetame 25-ga ja suurendame 5-ga.
else
märksõna for
loop määrab koodiploki, mis käivitatakse pärast tsükli lõppu.
for i in range(6): print(i) else: print('Finished looping.')
Väljund:
0 1 2 3 4 5 Finished looping.
Märge:Väljal if
lause, muu plokk käivitatakse ainult siis, kui tingimus on vale, kuid silmus for
else
blokeeritakse alati.Meil võib olla for
silmus teise sees for
silmus. Seda nimetatakse sisestatud silmuseks.
'Sisemine silmus' käivitatakse üks kord 'välise silmuse' iga iteratsiooni jaoks.
Näide:
numbers = [1, 2, 3] chars = ['a', 'b', 'c'] for i in numbers: for y in chars:
print(x, y)
Väljund:
1 a 1 b 1 c 2 a 2 b 2 c 3 a 3 b 3 c
while
loop täidab lausete kogumit seni, kuni tingimus on tõene.
Näiteks:
i = 1 while i < 5:
print('Hello world')
i = i + 1
Märge:peame suurendama i väärtust, vastasel juhul käivitatakse silmus igavesti.Teine lause while
sees loop käivitub üks kord, kui tingimus ei vasta enam tõele.
Näiteks:
i = 1 while i < 5:
print('Hello world')
i = i + 1 else:
print('The execution has ended')
Väljund:
Hello world Hello world Hello world Hello world The execution has ended
Katkendlauset kasutatakse juhul, kui soovite teatud hetkel tsükli täitmise katkestada.
Järgmises näites tahame peatada tsükli, kui kohtame märki 'c':
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
print(i)
if i == 'c':
print(''c' encountered. Breaking the loop')
break
Väljund:
a b c 'c' encountered. Breaking the loop
Märksõna jätka kasutatakse lause vahele jätmiseks ja konkreetse iteratsiooni jätkamiseks ülejäänud tsükliga.
Allpool toodud näites soovime jätkata tsükliga, kui kohtame tähte 'c':
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
if i == 'c':
continue
print(i)
Väljund:
a b d e
Pange tähele, et tähte „c” ei trükita. Silmus jätkab tähtede “d” ja “e” printimist.
for
ja while
kordamiseks kasutatakse silmuseidfor
loopi Pythonis saab kasutada ka range()
meetod. Võite anda nii alumise kui ka ülemise piiri või ainult ülemise piiri. Viimasel juhul võetakse alampiiriks 0for
loop, kui teate, mitu korda peaks tsükkel käivitumawhile
loopil on tingimus ja see töötab seni, kuni tingimus on valewhile
loopil peaks alati olema mehhanism tingimuse purustamiseks, vastasel juhul töötab silmus igavestielse
plokki saab kasutada nii for
ja while
silmus. See täidetakse alati.break
märksõna kasutatakse täitmise lõpetamiseks. Kui märksõna break katkestatakse, siis enam iteratsiooni ei tehta.continue
märksõna jätab praeguse iteratsiooni vahele ja hüppab otse järgmise iteratsiooni juurde.