Občas je potřeba vybrat náhodnou hodnotu.
Na to není v Pythonu funkce k dispozici přímo, ale dá se zpřístupnit
pomocí příkazu import:
>>> from random import randrange
>>> randrange(6)
3
Neboli:
random (který obsahuje funkce kolem náhodných hodnot)
zpřístupni funkci randrange (která umí vybírat náhodná čísla).Volání funkce randrange několikrát opakuj.
Jaká čísla můžeš dostat?
Modulů jako random, ze kterých se dají naimportovat užitečná rozšiření,
je spousta – na práci s textem, kreslení obrázků, práci se soubory nebo dny
v kalendáři, kompresi dat, posílání e-mailů, stahování z internetu…
Stačí jen vědět (nebo umět najít), jak se ten správný modul a funkce jmenuje.
A kdyby nestačilo to, co má Python zabudované v sobě, další rozšiřující moduly
se dají doinstalovat.
Když už jsme u náhody, zkusme si ještě vylosovat náhodné číslo v loterii.
Na výběr ze seznamu má modul random funkci choice:
>>> from random import choice
>>> loterie = [3, 42, 12, 19, 30, 59]
>>> choice(loterie)
12
Podobně se dá vybrat náhodná karta z ruky, náhodný účastník kurzu, náhodná barva – cokoli, co umíš dát do seznamu.
{
"data": {
"sessionMaterial": {
"id": "session-material:2019/brno-podzim-snake:intro:6",
"title": "NĂ¡hoda",
"html": "\n \n \n\n <h1>Náhoda</h1>\n<p>Občas je potřeba vybrat náhodnou hodnotu.\nNa to není v Pythonu funkce k dispozici přímo, ale dá se zpřístupnit\npomocí příkazu <code>import</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<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</pre></div><p>Neboli:</p>\n<ul>\n<li>Z modulu <code>random</code> (který obsahuje funkce kolem náhodných hodnot)\nzpřístupni funkci <code>randrange</code> (která umí vybírat náhodná čísla).</li>\n<li>Vyber náhodné číslo ze šesti možností.</li>\n</ul>\n<p>Volání funkce <code>randrange</code> několikrát opakuj.\nJaká čísla můžeš dostat?</p>\n<div class=\"solution\" id=\"solution-0\">\n <h3>Řešení</h3>\n <div class=\"solution-cover\">\n <a href=\"/2019/brno-podzim-snake/fast-track/random/index/solutions/0/\"><span class=\"link-text\">Ukázat řešení</span></a>\n </div>\n <div class=\"solution-body\" aria-hidden=\"true\">\n <p>Čísla od 0 do 5 – šestku ne.\nProgramátoři totiž počítají od nuly, a když počítáš od nuly a chceš šest čísel, dostaneš se jen k pětce.</p>\n<p>Můžeš ale napsat:</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<span class=\"gp\">>>> </span><span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">'Na kostce padlo'</span><span class=\"p\">,</span> <span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">6</span><span class=\"p\">)</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"go\">4</span>\n</pre></div>\n </div>\n</div><p>Modulů jako <code>random</code>, ze kterých se dají <em>naimportovat</em> užitečná rozšiření,\nje spousta – na práci s textem, kreslení obrázků, práci se soubory nebo dny\nv kalendáři, kompresi dat, posílání e-mailů, stahování z internetu…\nStačí jen vědět (nebo umět najít), jak se ten správný modul a funkce jmenuje.\nA kdyby nestačilo to, co má Python zabudované v sobě, další rozšiřující moduly\nse dají doinstalovat.</p>\n<h2>Náhodný výběr</h2>\n<p>Když už jsme u náhody, zkusme si ještě vylosovat náhodné číslo v loterii.\nNa výběr ze seznamu má modul <code>random</code> funkci <code>choice</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\">choice</span>\n<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</pre></div><p>Podobně se dá vybrat náhodná karta z ruky, náhodný účastník kurzu,\nnáhodná barva – cokoli, co umíš dát do seznamu.</p>\n<h2>Shrnutí</h2>\n<ul>\n<li>Příkaz <strong>import</strong> ti dá k dispozici funkčnost, která není k dispozici přímo\nv Pythonu.</li>\n<li>Modul <strong>random</strong> obsahuje funkce <strong>randrange</strong> (náhodné číslo) a <strong>choice</strong>\n(náhodný prvek seznamu).</li>\n</ul>\n\n\n "
}
}
}