9. hodina - Náhoda¶
Napíš program, v ktorom zadefinuješ 2 podprogramy s príkazmi
print
:podprogram
ciara
zobrazí v jednom riadku19
znakov+--+--
a tak ďalejpodprogram
palicky
zobrazí na striedačku paličku a dve medzery tak, aby znakov bolo19
.
Na konci programu zavolaj na striedačku podprogramy
ciara
apalicky
tak, aby sa zobrazilo:+--+--+--+--+--+--+ | | | | | | | +--+--+--+--+--+--+ | | | | | | | +--+--+--+--+--+--+
Pridaj do predchádzajúceho programu ešte jeden podprogram
stvorcekovy_papier
. Ten využije tvoje podprogramyciara
apalicky
tak, že pomocou ich volania zobrazí štvorcovú sieť:+--+--+--+--+--+--+ | | | | | | | +--+--+--+--+--+--+ | | | | | | | +--+--+--+--+--+--+ | | | | | | | +--+--+--+--+--+--+ | | | | | | | +--+--+--+--+--+--+
V počítači funguje náhoda. Zadaj do príkazového riadku tieto príkazy:
>>> import random >>> random.randint(1, 6)
Počítač zobrazí nejaké číslo, napríklad:
5
Nechaj vykonať príkaz
random.randint(1, 6)
niekoľkokrát. Aké čísla počítač zobrazil?>>> random.randint(1, 6) 6 >>> random.randint(1, 6) 4 >>> random.randint(1, 6) 4
Slovo
random
znamená náhodný. Pri vykonaní príkazurandom.randint(1, 6)
si počítač vymyslí nejaké číslo od1
po6
. Je to podobné, akoby si počítač hodil hracou kockou.
Náhodné číslo si môžeš zapamätať – napíš a spusti (aj viackrát) takýto program:
import random n = random.randint(1, 6) print('Na kocke padla', n)
Vyrob podprogram
hod_kockou
a doplň ho tak, aby hodil kockou10
krát:import random def hod_kockou(): n = random.randint(1, 6) print('Na kocke padla', n) hod_kockou()
Mal by si vidieť podobný výpis:
Na kocke padla 5 Na kocke padla 3 Na kocke padla 4 Na kocke padla 1 Na kocke padla 3 Na kocke padla 2 Na kocke padla 1 Na kocke padla 1 Na kocke padla 1 Na kocke padla 3
Uprav predchádzajúci program tak, aby počítač simuloval hod na
20
stennej kocke.
(*)
Máme binárnu hraciu kocku, ktorá má na troch stenách0
a zvyšných troch1
. Uprav predchádzajúci program, aby simuloval hod takou kockou.
(*)
Máme párnu hraciu kocku, ktorá má na stenách tieto čísla:2
,4
,6
,8
,10
,12
. Uprav predchádzajúci program, aby simuloval hod takou kockou.
(*)
Máme nepárnu hraciu kocku, ktorá má na stenách tieto čísla:1
,3
,5
,7
,9
,11
. Uprav predchádzajúci program, aby simuloval hod takou kockou.
(*)
Máme exotickú hraciu kocku, ktorá má na stenách tieto čísla:1
,4
,9
,16
,25
,36
. Uprav predchádzajúci program, aby simuloval hod takou kockou.
Napíš podprogram
predpoved
, ktorý vypíše správu:Dnes bude 15 stupňov.
Číselný údaj podprogram zvolí náhodne z intervalu
<-15, 35>
.
Vyrob program, ktorý vygeneruje náhodný PIN pre tvoj mobil. Do 4 premenných
a
,b
,c
,d
priraď náhodné čísla od0
po9
, a potom ich jedným príkazomprint
vypíš. Napríklad:Tvoj nový PIN je 1 3 7 3
Vyrob generátor náhodných dátumov (nech má každý mesiac
30
dní). Po spustení program vypíše, napríklad:Koniec sveta bude 30 . 2 . 2019
Takto nakreslíš náhodne umiestnený štvorček:
import tkinter import random canvas = tkinter.Canvas() canvas.pack() def nahodny_stvorcek(): x = random.randint(10, 300) y = random.randint(10, 200) canvas.create_rectangle(x, y, x + 50, y + 50, fill='orange') nahodny_stvorcek()
Doplň do programu príkazy tak, aby program nakreslil
5
náhodných štvorčekov:
Uprav predchádzajúci program tak, aby sa štvorčeky kreslili nielen na náhodných pozíciách, ale aj aby mal každý štvorček náhodnú veľkosť z intervalu od
10
do100
:
Doplň do predchádzajúceho programu nový podprogram
nahodny_obdlznik
. Ten si vymyslí náhodné súradnice aj rozmery obdĺžnika a nakreslí ho. Vlož príkazy, ktoré na striedačku nakreslia5
náhodných štvorčekov a5
obdĺžnikov.
Napíš program, ktorý bude generovať športovú vlajku vašej triedy:
Program si náhodne zvolí
x
,y
miesta, kde sa všetky štyri farby stretávajú. Vonkajšie rozmery vlajky nech sú300x200
.