V Pythonu je spousta funkčnosti k dispozici přímo – funkce jako print
, len
nebo int
můžeš rovnou použít.
Ještě víc věcí je v Pythonu sice k dispozici, ale jen když si „o ně řekneš“.
Jsou sdružené do modulů – souborů funkcí (a dalších věcí), které spolu nějak
souvisí.
Například když chceme pracovat s náhodnými hodnotami, můžeš využít modul
random
.
Naimportuj z něj funkci randrange
:
>>> from random import randrange
Jakmile to uděláš, funkce randrange
ti bude k dispozici.
Můžeš ji zavolat, a dostat tak náhodné číslo:
>>> randrange(6)
3
>>> randrange(6)
1
>>> randrange(6)
2
>>> randrange(6)
4
>>> randrange(6)
5
>>> randrange(6)
3
>>> randrange(6)
0
>>> randrange(6)
3
>>> randrange(6)
1
Argument funkce randrange
udává, kolik možných výsledků může vrátit.
Funkce pak vrací čísla od nuly, takže randrange(6)
může vrátit od 0, 1, 2,
3, 4 nebo 5. Šestku už ne.
Naimportuj si ještě dvě funkce:
>>> from random import choice, shuffle
První z nich, choice
, umí vybrat náhodný prvek ze seznamu:
>>> loterie = [3, 42, 12, 19, 30, 59]
>>> choice(loterie)
12
>>> choice(loterie)
30
Druhá, shuffle
, umožní seznam náhodně zamíchat.
Podobně jako metoda sort
, shuffle
nic nevrací – jen potichu změní pořadí:
>>> loterie = [3, 42, 12, 19, 30, 59]
>>> shuffle(loterie)
>>> loterie
[12, 59, 19, 42, 3, 30]
>>> shuffle(loterie)
>>> loterie
[59, 3, 30, 19, 12, 42]
Tohle byla docela krátká sekce – ale důležitá!
random
obsahuje funkce na výběr náhodných čísel nebo náhodných
prvků ze seznamu.{ "data": { "sessionMaterial": { "id": "session-material:2018/snake-brno-codeweek:intro:6", "title": "Import a nĂ¡hoda", "html": "\n \n \n\n <h1>Import a náhoda</h1>\n<p>V Pythonu je spousta funkčnosti k dispozici přímo – funkce jako <code>print</code>, <code>len</code>\nnebo <code>int</code> můžeš rovnou použít.\nJeště víc věcí je v Pythonu sice k dispozici, ale jen když si „o ně řekneš“.\nJsou sdružené do <em>modulů</em> – souborů funkcí (a dalších věcí), které spolu nějak\nsouvisí.</p>\n<p>Například když chceme pracovat s náhodnými hodnotami, můžeš využít modul\n<code>random</code>.\nNaimportuj z něj funkci <code>randrange</code>:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"kn\">from</span> <span class=\"nn\">random</span> <span class=\"kn\">import</span> <span class=\"n\">randrange</span>\n</pre></div><p>Jakmile to uděláš, funkce <code>randrange</code> ti bude k dispozici.\nMůžeš ji zavolat, a dostat tak náhodné číslo:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">3</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">1</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">2</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">4</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">5</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">3</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">0</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">3</span>\n<span class=\"gp\">>>> </span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n<span class=\"go\">1</span>\n</pre></div><p>Argument funkce <code>randrange</code> udává, kolik možných výsledků může vrátit.\nFunkce pak vrací čísla od nuly, takže <code>randrange(6)</code> může vrátit od 0, 1, 2,\n3, 4 nebo 5. Šestku už ne.</p>\n<h2>Náhoda a seznamy</h2>\n<p>Naimportuj si ještě dvě funkce:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"kn\">from</span> <span class=\"nn\">random</span> <span class=\"kn\">import</span> <span class=\"n\">choice</span><span class=\"p\">,</span> <span class=\"n\">shuffle</span>\n</pre></div><p>První z nich, <code>choice</code>, umí vybrat náhodný prvek ze seznamu:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">loterie</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">42</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">,</span> <span class=\"mi\">19</span><span class=\"p\">,</span> <span class=\"mi\">30</span><span class=\"p\">,</span> <span class=\"mi\">59</span><span class=\"p\">]</span>\n<span class=\"gp\">>>> </span><span class=\"n\">choice</span><span class=\"p\">(</span><span class=\"n\">loterie</span><span class=\"p\">)</span>\n<span class=\"go\">12</span>\n<span class=\"gp\">>>> </span><span class=\"n\">choice</span><span class=\"p\">(</span><span class=\"n\">loterie</span><span class=\"p\">)</span>\n<span class=\"go\">30</span>\n</pre></div><p>Druhá, <code>shuffle</code>, umožní seznam náhodně zamíchat.\nPodobně jako metoda <code>sort</code>, <code>shuffle</code> nic nevrací – jen potichu změní pořadí:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">>>> </span><span class=\"n\">loterie</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">42</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">,</span> <span class=\"mi\">19</span><span class=\"p\">,</span> <span class=\"mi\">30</span><span class=\"p\">,</span> <span class=\"mi\">59</span><span class=\"p\">]</span>\n<span class=\"gp\">>>> </span><span class=\"n\">shuffle</span><span class=\"p\">(</span><span class=\"n\">loterie</span><span class=\"p\">)</span>\n<span class=\"gp\">>>> </span><span class=\"n\">loterie</span>\n<span class=\"go\">[12, 59, 19, 42, 3, 30]</span>\n<span class=\"gp\">>>> </span><span class=\"n\">shuffle</span><span class=\"p\">(</span><span class=\"n\">loterie</span><span class=\"p\">)</span>\n<span class=\"gp\">>>> </span><span class=\"n\">loterie</span>\n<span class=\"go\">[59, 3, 30, 19, 12, 42]</span>\n</pre></div><h2>Shrnutí</h2>\n<p>Tohle byla docela krátká sekce – ale důležitá!</p>\n<ul>\n<li><strong>Import</strong> nám může zpřístupnit funkce z <strong>modulů</strong>,\nkteré nejsou k dispozici přímo v Pythonu.</li>\n<li>Modul <code>random</code> obsahuje funkce na výběr náhodných čísel nebo náhodných\nprvků ze seznamu.</li>\n</ul>\n\n\n " } } }