Fizika, matek, informatika érettségi

Home Fizika Excel Access A weboldalról

Elágazás, ciklus a Pythonban

Elágazás

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

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):
utasítások, amit végrehajt, ha a feltétel1 igaz
elif (feltétel2):
új eset és utasítások, amit végrehajt, ha a feltétel1 hamis, de a feltétel2 igaz (el is maradhat)
else:
utasítások, amit végrehajt, ha a feltétel1 hamis (el is maradhat)

Példa:
if fizetes<300000:
print('Kevés')
elif fizetes<600000:
print('Ez jobb fizetés')
else:
print('Ez kell nekem!')

while ciklus

while (feltétel):
utasítások
else:
utasítások, amelyek akkor futnak le, ha a feltétel nem teljesül, vagy ha már vége a ciklusnak (el is maradhat)

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:

A while hátul tesztelő ciklussá is tehető:
while True:
utasítások
if (feltétel):
break

Nincs GOTO utasítás! Nincs lehetőség egyszerre több ciklusból való kiugrásra.

for ciklus

for ciklus változó in range(kezdőérték, végérték, lépésköz):
utasítások
else:
utasítások (ha a ciklus véget ér, ez fut le; el is maradhat, ha nincs rá szükség)

Példa: for i in range(1,11,2):
print(’szám:’,i )
else:
print(’VÉGE a ciklusnak!!!’)

A for ciklussal egy lista elemein is végig lépkedhetünk:
for elem in lista:
print(elem)

Előfordulhat, hogy indexeléssel kell végigmenni az elemeken:
for index1 in range(len(lista)):
print(lista[index1])

Példák:

lista = ['kék', 'piros', 'zöld']
for l in lista:
print(l, len(l), end='; ')

Eredménye: kék 3; piros 5; zöld 4;

for i1 in range(5):
print(i1, end=', ')

Eredménye: 0, 1, 2, 3, 4,

for i1 in range(5, 10):
print(i1, end=', ')

Eredménye: 5, 6, 7, 8, 9,

for i1 in range(0, 10, 3):
print(i1, end=', ')

Eredménye: 0, 3, 6, 9

for i1 in range(-10, -100, -30):
print(i1, end=', ')

Eredménye: -10, -40, -70

a = ['Csiga', 'biga', 'gyere', 'ki']
for i in range(len(a)):
print(i, a[i],end=' ')

Eredménye: Csiga biga gyere ki