16. hodina - Vetvenie¶
Napíš program, ktorý pomocou farebných kruhov nakreslí semafor:
(*)
Napíš program, ktorý pomocourandom.choice([...])
vypíše jeden z nasledujúcich pozdravov:Dobré ráno
,Dobrý deň
,Dobrý večer
,Dobrú noc
. Použi cyklus, aby sa vypísalo10
pozdravov. Napríklad:Dobrú noc Dobrý deň Dobrú noc Dobrý večer Dobrú noc Dobrú noc Dobré ráno Dobrú noc Dobrý večer Dobrú noc
Počítač dokáže porovnávať čísla. Napíš do príkazového riadku:
>>> 1 < 2 # stlač Enter
Počítač čísla porovná a vypíše:
True
počítač nám odpovedal, že je pravda, že
1
je menšia ako2
Vieme, že
3
nie je väčšia ako4
. Vyskúšaj, čo ti počítač vypíše, ak do príkazového riadku zadáš:>>> 3 > 4
Môžeš porovnávať aj zložitejšie výrazy. Aké výsledky vypíše počítač?
>>> 1 + 2 > 3
>>> -1 > -2
>>> (1 + 2) * 3 < 1 + 2 * 3
>>> a = 100
>>> a < 101
Chceme vytvoriť program, ktorý by nám povedal, či je vonku teplo alebo zima. Mohlo by to fungovať tak, že do premennej
teplota
priradíme číslo. Potom by počítač pre teplotu väčšiu ako20
stupňov vypísal, že je teplo. Inak by nám povedal, že je zima. Takto to naprogramuješ:Nezabudni na dvojbodky na konci riadkov s
if
aelse
– sú dôležité
teplota = 25 print('Je', teplota, 'stupňov.') if teplota > 20: print('Dnes je teplo.') else: print('Dnes je zima.') print('Správne sa obleč.')
odsaď príkazy
print
– použi tabulátor
Ak si program napísal správne, po jeho spustení uvidíš:
Je 25 stupňov. Dnes je teplo. Správne sa obleč.
Zmeň v predchádzajúcom príklade teplotu z
25
na10
. Program spusti. Čo sa vypíše?
Ako program funguje?
if ... else ...
je nový príkaz pre vetvenie programu
teplota = 25
print('Je', teplota, 'stupňov.')
if teplota > 20: # podmienka
print('Dnes je teplo.') # vetva if
else:
print('Dnes je zima.') # vetva else
print('Správne sa obleč.')
podmienka, podľa ktorej sa počítač rozhodne, ktorú vetvu ďalej vykoná
Keď počítač uvidí príkaz if ... else ...
, najskôr vyhodnotí podmienku. Ak je podmienka splnená, vykoná sa príkaz vo vetve if
, inak sa vykoná príkaz vo vetve else
.
Uprav predchádzajúci program tak, aby pre:
záporné teploty vypísal
Zober si rukavice
,inak vypíše, že
Rukavice ti netreba
.
Over, že program správne funguje pre kladné aj záporné hodnoty. Čo tvoj program vypíše pre 0?
Chceme poslať doporučený list. Vytvor program, ktorý ti poradí s cenou dopisu. Na začiatku programu priraď do premennej
hmotnost
číslo s hmotnosťou tvojho listu. Použi príkaz pre vetvenie programu, aby pre list s hmotnosťou:do
50
g vypísalZaplatíš 1.25 eura
,inak vypíše, že
Zaplatíš 1.4 eura
.
Over, že program správne počíta cenu listu pre hmotnosti:
30
,50
a100
gramov.Doporučené listy nad
100
g stoja1.7
eura. Náš program to zatiaľ nevyhodnotí správne.
Ideme na zmrzlinu. Cena za jeden za kopček zmrzliny je
1.1
eura. Zmrzlinár však ponúka zľavu: ak vezmeme viac ako5
kopčekov, cena za každý kopček bude0.90
eura. Vytvor program, ktorému na začiatku priradíš do premennejpocet
počet kopčekov a on vypíše výslednú cenu. Napríklad:Za 5 kopčekov zmrzliny zaplatíš: 4.5 eurá.
Over, že program správne počíta cenu zmrzliny pre
4
,5
a6
kopčekov.
Na začiatku si robil program, ktorý kreslil semafor. Teraz by sme chceli vylepšiť tento program tak, že na semafore bude svietiť buď červené alebo zelené svetlo. Do premennej
cas
priraď počet sekúnd. Ak je toto číslo menšie ako30
, nakreslí sa červené svetlo, inak sa nakreslí zelené.pre
cas = 5
pre
cas = 50
Over, že tvoj program kreslí správny krúžok pre časy
5
,30
aj50
sekúnd.
Vylepši predchádzajúci program tak, aby bolo vidieť aj nesvietiace svetlo:
pre
cas = 5
pre
cas = 50
Máme škatuľu v tvare obdĺžnika s dĺžkami strán, ktoré sú uložené v premenných
a
,b
. Škatuľu chceme položiť vždy na ležato. Vytvor program, v ktorom na začiatku priradíš do premennýcha
,b
rozmery. Program nakreslí škatuľu tak, aby vždy ležala dlhšou stranou na zemi. Over, že program funguje pre rôzne kombinácie hodnôt premennýcha
,b
.pre
a = 50
,b = 100
pre
a = 200
,b = 70
(*)
Do premennýchr1
,r2
priraď polomery kruhov. Vytvor program, ktorý nakreslí obidva kruhy ale tak, aby menší kruh ležal na väčšom. Over, že program funguje pre rôzne kombinácie polomerov.pre
r1 = 30
,r2 = 20