Petlja koja crta niz oblika
U petlji for brojač i ide od 0, a položaj oblika računa se iz njega, npr. x = 20 + 30 · i. To je kao linearna funkcija: 20 je x prvog oblika (za i = 0), 30 razmak između susednih oblika, a broj ponavljanja određuje range. Petlja range(5) daje x = 20, 50, 80, 110 i 140, pa je četvrta duž na 110, jer se crta za i = 3. Kada se menja x, nastaju uspravne paralelne duži, kada se menja y, vodoravne (veće y je niže), a kada se menjaju oba, oblici idu koso. Za 6 duži od x = 50 do x = 350 ima 5 razmaka, pa je razmak 300 : 5 = 60. Broj oblika i razmak menjaju se na jednom mestu.
Kružnice, gradijent i česte greške
Koncentrične kružnice imaju isti centar, a petlja menja samo poluprečnik, npr. 20 + 20 · i. Kružnice se dodiruju kada je razmak centara jednak zbiru poluprečnika, za dva ista poluprečnika to je prečnik; za manji razmak se preklapaju. Ispunjeni krugovi sa zajedničkim centrom crtaju se od većeg ka manjem, inače poslednji, najveći, prekrije sve. Gradijent nastaje kada se u petlji menja komponenta boje, npr. (50 · i, 0, 0) od crne ka crvenoj, ali komponenta ne sme da pređe 255. Ako koordinata ne zavisi od i, svi oblici padnu na isto mesto. Ako poziv za crtanje nije uvučen u telo petlje, izvrši se samo jednom, posle nje. Petlja while crta dok važi uslov, npr. dok je x manje od 300.
Slučajni brojevi
Red import random uvozi modul sa funkcijama za slučajne brojeve. Poziv random.randint(a, b) vraća ceo broj od a do b, a obe granice su uključene, kao kod kockice: randint(1, 6) daje 1, 2, 3, 4, 5 ili 6. Po tome se razlikuje od range(1, 6), koje ne uključuje 6. Zato randint(0, 9) može da vrati 10 različitih vrednosti, a za komponentu boje treba randint(0, 255). Ako se slučajni broj bira unutar petlje, svaka kap kiše ili zvezda dobija svoj položaj; ako se bira pre petlje, svi oblici dele istu vrednost. Kada je ista slučajna vrednost u sve tri komponente, dobija se siva. Broj oblika određuje petlja, a ne slučajni brojevi, a dva pokretanja programa obično daju različit raspored.