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 " } } }