Structura repetitivă cu contor (echivalentul blocului Scratch „repeat 10”) se scrie în Python cu for și range():
range(1, 11)Generează numerele de la 1 până la 10 inclusiv — 11 nu e inclus. La fiecare pas al buclei, i ia pe rând valoarea 1, apoi 2, ..., apoi 10, iar linia indentată de sub for se execută o dată pentru fiecare valoare.
Structura repetitivă condiționată (echivalentul „repeat until”/„forever if”) se scrie cu while, și se repetă cât timp o condiție rămâne adevărată:
Cele trei structuri se combină: în interiorul unei bucle putem avea o decizie (if), iar în interiorul unei decizii, o altă buclă — exact cerința programei.
range(1, 10) nu ajunge la 10Limita de sus dintr-un range() nu e inclusă niciodată — range(1, 10) generează 1, 2, ..., 9, dar nu și 10. Dacă vrei să incluzi și 10, scrie range(1, 11). E o greșeală frecventă, numită „off-by-one” (greșeală cu o unitate).
