Zacal som sa trocha ucit python podla http://python.input.sk/ a nerozumiem celkom tomuto kodu, alebo sa domnievam, ze to funguje takto
btw priklad je v tejto casti http://python.input.sk/04.html#logicke-operacie
import tkinter
from random import randint, randrange
canvas = tkinter.Canvas(bg='white', width=300, height=300)
canvas.pack()
for i in range(10):
x = randint(1, 300)
y = randint(1, 300)
a = randint(5, 50)
if randrange(2): # t.j. randrange(2) != 0
canvas.create_oval(x-a, y-a, x+a, y+a)
else:
canvas.create_rectangle(x-a, y-a, x+a, y+a)
if moze nadobudat hodnoty 0 a 1. Ak modul randrange vybere hodnotu 0, tak je podmienka false a nakresli sa stvorec. Pri dalsom cykle nadobudne napr. hodnotu 1, vtedy je podmienka true a nakresli sa kruh. Ak si myslim spravne, tak je to OK.
Dalsi kod, ktoremu tiez celko nerozumiem je tento http://python.input.sk/04.html#delitele-cisel
cislo = int(input('Zadaj číslo: '))
pocet = 0
print('delitele:', end=' ')
for delitel in range(1, cislo+1):
if cislo % delitel == 0: # mohli by sme zapísať aj if not cislo % delitel:
pocet += 1
print(delitel, end=' ')
print()
print('počet deliteľov:', pocet)
1. Program caka na vstup, cize zadame nejake cislo napr 9
2. do premennej pocet ulozime hodnotu 0 (cize ju vynulujeme)
3. na riadku 3 vytlacime slovo delitele (to by malo byt vsetko, ale nie je to tak)
4. program pokracuje cyklom kde bude nas rozsah 1 az 10
5. if podmienke rozumiem. vezme cislo (9) a zacne ho delit cislom (1). Modulo je nula, cize do premennej pocet pripocita cislo 1 a premenna pocet nadobudne hodnotu (1).
6. V riadku 7 je print, cize by sa malo vytlacit cislo 1 (dalsie printy v riadku 8 a 9 uz nie su v tele cyklu, cize sa vykonaju az na konci).
7. pokracuje sa dalej v cykle, takze sa vezme cislo (2) a kedze 9/2 uz ma po deleni zvysok, tak prikazy v podmienke if sa uz nevykonaju a pokracuje sa cislom (3). A kedze 9/3 nema po deleni zvysok, tak premenna pocet sa zase navysi o (1) a uz ma hodnotu 2. atd ....
Ako je mozne teda, ze ten print v riadku 3 vypise vsetky delitele (cize 1 2 3 ) a ten print co je v if(e) nevypisuje nic.