Skip to content

Commit 336ad00

Browse files
committed
Snake workshop: Add a section on the random module (and importing)
1 parent 93ae6a6 commit 336ad00

File tree

3 files changed

+61
-1
lines changed

3 files changed

+61
-1
lines changed

courses/snake/info.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ plan:
5252
- lesson: fast-track/conversion
5353
- lesson: fast-track/variables
5454
- lesson: fast-track/list
55-
- lesson: snake/import
55+
- lesson: fast-track/random
5656
- lesson: fast-track/dict
5757
- lesson: fast-track/bool
5858
- lesson: fast-track/script

lessons/fast-track/random/index.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Náhoda
2+
3+
Občas je potřeba vybrat náhodnou hodnotu.
4+
Na to není v Pythonu funkce k dispozici přímo, ale dá se zpřístupnit
5+
pomocí příkazu `import`"
6+
7+
```pycon
8+
>>> from random import randrange
9+
>>> randrange(6)
10+
3
11+
```
12+
13+
Neboli:
14+
15+
* Z modulu `random` (který obsahuje funkce kolem náhodných hodnot)
16+
zpřístupni funkci `randrange` (která umí vybírat náhodná čísla).
17+
* Vyber náhodné číslo ze šesti možností.
18+
19+
Volání funkce `randrange` několikrát opakuj.
20+
Jaká čísla můžeš dostat?
21+
22+
{% filter solution %}
23+
Čísla od 0 do 5 – šestku ne.
24+
Programátoři totiž počítají od nuly, a když počítáš od nuly a chceš šest čísel, dostaneš se jen k pětce.
25+
{% endfilter %}
26+
27+
Modulů jako `random`, ze kterých se dají *naimportovat* užitečná rozšiření,
28+
je spousta – na práci s textem, kreslení obrázků, práci se soubory nebo dny
29+
v kalendáři, kompresi dat, posílání e-mailů, stahování z internetu…
30+
Stačí jen vědět (nebo umět najít), jak se ten správný modul a funkce jmenuje.
31+
A kdyby nestačilo to, co má Python zabudované v sobě, další rozšiřující moduly
32+
se dají doinstalovat.
33+
34+
## Náhodný výběr
35+
36+
Když už jsme u náhody, zkusme si ještě vylosovat náhodné číslo v loterii.
37+
Na výběr ze seznamu má modul `random` funkci `choice`:
38+
39+
```pycon
40+
>>> from random import choice
41+
>>> loterie = [3, 42, 12, 19, 30, 59]
42+
>>> choice(loterie)
43+
12
44+
```
45+
46+
Podobně se dá vybrat náhodná karta z ruky, náhodný účastník kurzu,
47+
náhodná barva – cokoli, co umíš dát do seznamu.
48+
49+
50+
## Shrnutí
51+
52+
* Příkaz **import** ti dá k dispozici funkčnost, která není k dispozici přímo
53+
v Pythonu.
54+
* Modul **random** obsahuje funkce **randrange** (náhodné číslo) a **choice**
55+
(náhodný prvek seznamu).

lessons/fast-track/random/info.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
title: Náhoda
2+
style: md
3+
attribution:
4+
- Pro PyLadies Brno napsal Petr Viktorin, 2019.
5+
license: cc-by-sa-40

0 commit comments

Comments
 (0)