Ugrás a tartalomra
VÁZ

BME · Programozás alapjai

Programozási alapok – elméleti fejezetek

Szűrő: BME · Programozás alapjai · Törzs

Programozás (Python) · PY-05

Elágazás és ciklus: minden esetnek legyen útja

BME · Programozás alapjai

Feltétel és ismétlés

Az if/elif/else ágak feltétel szerint választanak; a for gyűjteményen vagy tartományon halad, a while feltétel fennállásáig ismétel. A behúzás a programszerkezet része. A range(1, 4) az 1, 2 és 3 értékeket adja, a felső határ nélkül.

ertekek = [4, -2, 0, 7]
pozitiv = 0
for ertek in ertekek:
    if ertek > 0:
        pozitiv += 1
print(pozitiv)

Eredmény: 2. A nullára saját ágat írunk, ha a feladat külön kezeli. Az if ertek numerikus környezetben a nulla és nem nulla elkülönítése, nem a pozitivitás tesztje.

Tipikus hibák

A while ciklusban elfelejtett változtatás végtelen ismétlést adhat. Lista törlése közvetlenül a rajta haladó ciklusban kihagyott elemekhez vezethet; inkább új szűrt listát készíts. A break kilép, a continue a következő iterációra ugrik; a kettő jelentése nem felcserélhető.

Önellenőrzés

Hány alkalommal fut a range(5)? Ötször, 0–4 értékekkel. A ciklus minden esetben jobb, mint egy képlet? Nem: például állandó összegre közvetlen összefüggés lehet egyszerűbb. Tanuláskor előbb a korrekt folyamatot, csak utána a rövidséget optimalizáld.