Elágazás és ciklus: minden esetnek legyen útja
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.