Akkor szükséges, ha a programban valamilyen döntési ponthoz érünk. Ha egy feltétel igaz, akkor az egyik ágon, ha nem, akkor a másik ágon (else) fut tovább a program.
A feltétel
True
(igaz) vagy False
(hamis) eredményt ad.or
(vagy) és az and
(és) is.if
után a nulla értékek hamisak, a nem-nulla értékek pedig igazak.Az utasítások blokkját beljebb kezdjük, mindet ugyanannyira bent.
Pythonban nincsen többszörös elágazás, if
és elseif
alkalmazásával oldjuk meg.
if (feltétel1):
elif (feltétel2)
:
else:
Példa:
if fizetes<300000:
elif fizetes<600000:
else:
while (feltétel):
else:
A while
a hagyományos elől tesztelő ciklus. Az else
ág akkor fut le, ha a ciklusfeltétel nem teljesül (tehát a ciklus elhagyása után mindig, kivéve ha break
utasítással hagyjuk el a ciklust).
A programozónak kell gondoskodnia a ciklusfeltétel HAMIS-sá válásáról, mert ellenkező esetben végtelen ciklusba kerül a program (ilyenkor megszakítás: Crtl+C). A végtelen ciklust egyébként ki is használhatjuk, ha a feltételt nem tudjuk előre meghatározni.
Kiugrási lehetőségek a ciklusból:
break
– rögtön a ciklus utáni utasításra kerül a vezérléscontinue
– a ciklusfeltétel tesztelésére ugrik a vezérlésA while
hátul tesztelő ciklussá is tehető:
while True:
if (feltétel):
Nincs GOTO utasítás! Nincs lehetőség egyszerre több ciklusból való kiugrásra.
for ciklus változó in range(kezdőérték, végérték, lépésköz):
else:
Példa:
for i in range(1,11,2):
else:
A for
ciklussal egy lista elemein is végig lépkedhetünk:
for elem in lista:
Előfordulhat, hogy indexeléssel kell végigmenni az elemeken:
for index1 in range(len(lista)):
Példák:
lista = ['kék', 'piros', 'zöld']
for l in lista:
Eredménye: kék 3; piros 5; zöld 4;
for i1 in range(5):
Eredménye: 0, 1, 2, 3, 4,
for i1 in range(5, 10):
Eredménye: 5, 6, 7, 8, 9,
for i1 in range(0, 10, 3):
Eredménye: 0, 3, 6, 9
for i1 in range(-10, -100, -30):
Eredménye: -10, -40, -70
a = ['Csiga', 'biga', 'gyere', 'ki']
for i in range(len(a)):
print(i, a[i],end=' ')