Hádžeme hracou kockou desaťkrát po sebe a chceme vedieť, koľkokrát padla čestka a koľkokrát iné číslo. Vytvorte program pocet_sestiek.py, ktorý pomocou cyklu, generovania náhodných čísel a vnoreného príkazu vetvenia simuluje desať hodov kocky, hodené čísla vypíše a spočíta, koľkokrát padla šestka a koľkokrát iné číslo. Tieto počty vypíše. Napríklad pre:
5
6
5
2
2
3
1
4
5
3
program vypíše:
Padla 1 šestka a 9 iných čísel
Uprav program tak, aby sme hodili kockou 60000krát. Koľkokrát padla šestka?
Hádžeme desaťkrát kockou. Prémiu získame vždy, keď padnú po sebe dve rovnaké čísla. Vytvorte program rovnake_za_sebou.py, ktorý simuluje desať hodov kockou, hodené čísla vypíše a spočíta počet prémií. Počet prémií potom vypíše. Napríklad pre:
4
4
6
5
3
3
3
1
5
5
program vypíše:
Počet prémií: 4
Upravte úlohu 1 tak, aby program správne skloňoval:
Padla 1 šestka...
Padli 2 šestky...
Padlo 5 šestiek...
Vytvorte nový program sklonovanie.py, v ktorom do premennej n priradíte počet hodených šestiek apočítač zobrazí gramaticky správnu vetu. Otestujte funkčnosť programu pre rôzne hodnoty n.
Výsledok by sa mal podobať na obrázok nižšie:
Vyskúšajte, ako bude výsledok vyzerať pre rôzne opakovania cyklu (napríklad 100 alebo 1000).
5.* Vytvorte program ceska_vlajka.py, ktorý použije podobnú techniku, ako predchádzajúca úloha a nakreslí obrázok podobný českej vlajke. Výsledok môže vyzerať napríklad takto:
Vytvorte nový program druha_mocnina_parameter.py. Prepíšte doňho nasledujúci kód a dokončite podprogram vypis, ktorý používa parameter x na to, aby vypísal hodnotu parametra x a jeho druhú mocninu:
def vypis(x):
print('Číslo', ...)
print('Umocnené na druhú sa rovná', ............)
vypis(1)
vypis(2)
vypis(3)
Program by mal po spustení vypísať:
Číslo 1
Umocnené na druhú sa rovná 1
Číslo 2
Umocnené na druhú sa rovná 4
Číslo 3
Umocnené na druhú sa rovná 9
Vytvorte nový program kruh_parametr.py. Prepíšte do neho nasledujúci kód a dokončite ho tak, aby kreslil kruhy so stredom v bode 200, 150 a polomerom r, ktorý bude parametrom podprogramu:
import tkinter
canvas = tkinter.Canvas()
canvas.pack()
def kruh(r):
canvas.create_oval(......., ......., ......., .......)
kruh(10)
kruh(100)
kruh(50)
Vytvorte nový program stvorec_parameter.py a v ňom definujte podprogram stvorec s parametrom a, ktorý udáva dĺžku strany štvorca. Podprogram by mal fungovať tak, že štvorec vykreslí len pre kladné hodnoty parametra a, pre záporné hodnoty vypíše správu “nedá sa” do stredu plátna. Ľavý horný roh kresleného štvorca bude mať súradnice [10, 10]. Program otestujte.
Vytvorte nový program kviz.py, ktorý bude fungovať ako jednoduchý kvíz na sčítanie čísel. Počítač na začiatku vygeneruje dve náhodné čísla z rozsahu od 1 do 10, vypíše ich a my musíme odpovědať tým, že z príkazového riadku zavoláme podprogram over. Počítač potom skontroluje, či bola naša odpoveď správna alebo nie:
=========== RESTART ===========
Koľko je 10 + 7 ?
>>> over(5)
Nesprávne, malo to byť 17
>>>
=========== RESTART ===========
Koľko je 4 + 9 ?
>>> over(13)
Správne
>>>
Chceme preskúmať, ako často padne číslo 6 na hracej kocke, keď ňou veľakrát hádžeme. Vytvorte program stastie.py a v ňom podprogram stastie s parametrom n, ktorýnasimuluje n hodov bežnou hracou kockou. Podprogram n-krát vygeneruje náhodné číslo 1-6 a keď padne šestka, zvýši počítadlo o 1. Podprogram na záver vypíše správu v tvare:
Pravdepodobnosť výhry pri 10 hodoch: 0.2
Vypíšte pomocou programu pravdepodobnosti výhry pre 10, 100, 1000, 10000, 100000 hodoch.