Čtverec

Teď se vrátíme do základní školy a zkusíme si napsat program, který vypočítá obsah a obvod čtverce, u kterého známe délku strany.

Vytvoř si v editoru nový soubor a ulož ho do adresáře pro dnešní lekci pod jménem ctverec.py. Zkus do něj napsat program, který spočítá a vypíše obvod a obsah čtverce se stranou 356 cm.

Po spuštění by se mělo vypsat něco jako:

Obvod čtverce se stranou 356 cm je 1424 cm
Obsah čtverce se stranou 356 cm je 126736 cm2

Pro připomenutí, obvod čtverce se stranou a se dá vypočítat jako O = 4a a obsah jako S = a².

Matematika!

Doufám, že tenhle příklad nikoho neodradí, ale „počítač“ je holt od slova počítat. Není třeba se děsit; na základy programování si vystačíme s matematickými znalostmi ze základní školy.

Výsledky by měl spočítat Python; číslo 1424 nebo 126736 přím do programu nepiš.
Jestli si nevíš rady, podívej se na program printing.pylekce o print, kde jeden řádek dělá něco podobného.

Až budeš mít program hotový, nebo až budeš chtít vyzkoušet rozepsaný kousek, spusť ho:

  • pokud ti už na začátku příkazové řádky nesvítí (venv), aktivuj si virtuální prostředí,
  • pomocí cd donaviguj do adresáře s programem,
  • zadej python ctverec.py.

Funguje? Jestli ne, oprav ho a zkus to znovu! Když už jsi v příkazové řádce ve správném adresáři, spuštění znamené zadat znovu python ctverec.py. Abys to nemusela celé psát, můžeš se k předchozímu příkazu vrátit pomocí šipky nahoru, .

Řešení

Menší čtverec

Jestli všechno funguje, zkus změnit program tak, aby počítal obsah a obvod čtverce o straně 123 cm.

Řešení

Proměnné

Zvládneš to i pro stranu 3945 cm, 832 cm, 956 cm? Baví tě přepisování čísel? Kdyby byl program delší (několikastránkový), jak bys zajistila, že jedno z těch čísel nepřehlédneš?

Existuje způsob, jak program napsat, aniž bys musela pokaždé přepisovat všechna čísla: stranu čtverce si „pojmenuješ“ a potom používáš jenom její jméno. V Pythonu na pojmenovávání hodnot slouží proměnné (angl. variables). Používají se takto:

strana = 123
print('Obvod čtverce se stranou', strana, 'je', 4 * strana, 'cm')
print('Obsah čtverce se stranou', strana, 'je', strana * strana, 'cm2')

Neboli: napíšeš jméno, pak rovnítko a za rovnítkem výraz, jehož hodnota se do proměnné přiřadí. Když potom napíšeš jméno proměnné ve výrazu, použije se zapamatovaná hodnota.

Je zvykem dát před i za rovnítko po jedné mezeře.

To nás vede k jedné ze základních programátorských zásad: „neopakuj se“ (anglicky Don't repeat yourself, DRY). Když se někde opakuje stejná hodnota, stejný výraz nebo stejný kus kódu, dobrá programátorka ten kus programu pojmenuje a dál pak používá jen jméno. Často se totiž stává, že je program potřeba změnit – buď je v něm chyba nebo se změní zadání. A potom je mnohem jednodušší změnu udělat jen na jednom místě.

Kromě toho dobrá jména usnadňují čtení programu: u 4 * 183 není moc jasné, co ta čísla znamenají. Výraz 4 * strana je na tom mnohem líp.

Kruhy

Tohle je příklad navíc! Klidně ho přeskoč.

Změna zadání! Zkus program doplnit tak, aby kromě čtverce počítal i obvod a obsah kruhu se stejným poloměrem, jakou má čtverec stranu.

Pro připomenutí, obvod kruhu s poloměrem r je o = 2πr, obsah S = πr² a π je zhruba 3,1415926.

Všechna čísla, která matematici označují jen jedním písmenkem (klidně řeckým), vhodně pojmenuj.

Komentáře

Program si teď zpřehledníme komentářem. V Pythonu komentář začíná dvojkřížkem (#), za který můžeš napsat úplně cokoliv – až do konce řádku bude Python všechno ignorovat.

Komentáře jsou důležité: programy nečte jen počítač, ale i lidé. Do komentářů si můžeš poznamenat, co dělá celý program, vysvětlit, jak funguje nějaká složitější část, nebo vyjasnit něco, co není jasné přímo z programu.

Vždycky, když píšeš program, snaž se vžít do role někoho, kdo potom ten program bude číst, a všechno, co by mohlo být nejasné, upřesnit v komentářích. (Nejčastěji to budeš číst sama, třeba po několika měsících, takže tím pomáháš sama sobě!)

# Tento program počítá obvod a obsah čtverce.

strana = 123  # v centimetrech
print('Obvod čtverce se stranou', strana, 'je', 4 * strana, 'cm')
print('Obsah čtverce se stranou', strana, 'je', strana * strana, 'cm2')

Píšeš-li komentáš na stejný řádek jako kód, je zvykem před # dát dvě mezery (nebo i víc). Za # pak patří právě jedna.

Načítání vstupu

Nakonec se podíváme, jak zařídit, aby číslo nemuselo být zapsáno v programu, ale aby ho mohl uživatel zadat sám.

Stejně jako když ses naučila používat print i tady jen řeknu, že na to použijeme funkce. Detaily si vysvětlíme později; pro teď to budou kouzelná zaříkadla.

Pozor, záleží na typu hodnoty který chceš získat: text nebo číslo. Vybírej pečlivě!

  • Chceš-li načíst řetězec (text), použij:

    promenna = input('Zadej řetězec: ')
    
  • Chceš-li načíst celé číslo, použij:

    promenna = int(input('Zadej číslo: '))
    
  • Chceš-li načíst desetinné číslo, použij:

    promenna = float(input('Zadej číslo: '))
    

Místo řetězce 'Zadej …' se dá napsat i jiná výzva. A výsledek se samozřejmě dá uložit i do jiné proměnné než promenna.

Hotový program může vypadat takto:

# Tento program počítá obvod a obsah čtverce.

strana = float(input('Zadej stranu čtverce v centimetrech: '))
print('Obvod čtverce se stranou', strana, 'je', 4 * strana, 'cm')
print('Obsah čtverce se stranou', strana, 'je', strana * strana, 'cm2')
{
  "data": {
    "sessionMaterial": {
      "id": "session-material:2019/brno-podzim-pondeli:expressions:5",
      "title": "Proměnné",
      "html": "\n          \n    \n\n    <h1>&#x10C;tverec</h1>\n<p>Te&#x10F; se vr&#xE1;t&#xED;me do z&#xE1;kladn&#xED; &#x161;koly a zkus&#xED;me si napsat program,\nkter&#xFD; vypo&#x10D;&#xED;t&#xE1; obsah a obvod &#x10D;tverce, u kter&#xE9;ho zn&#xE1;me d&#xE9;lku strany.</p>\n<p>Vytvo&#x159; si v&#xA0;editoru nov&#xFD; soubor a ulo&#x17E; ho do adres&#xE1;&#x159;e pro dne&#x161;n&#xED; lekci\npod jm&#xE9;nem <code>ctverec.py</code>.\nZkus do n&#x11B;j napsat program, kter&#xFD; spo&#x10D;&#xED;t&#xE1; a vyp&#xED;&#x161;e obvod a obsah &#x10D;tverce\nse stranou 356 cm.</p>\n<p>Po spu&#x161;t&#x11B;n&#xED; by se m&#x11B;lo vypsat n&#x11B;co jako:</p>\n<div class=\"highlight\"><pre><code>Obvod &#x10D;tverce se stranou 356 cm je 1424 cm\nObsah &#x10D;tverce se stranou 356 cm je 126736 cm2</code></pre></div><p>Pro p&#x159;ipomenut&#xED;, obvod &#x10D;tverce se stranou <var>a</var>\nse d&#xE1; vypo&#x10D;&#xED;tat jako <var>O</var> = 4<var>a</var>\na obsah jako <var>S</var> = <var>a</var>&#xB2;.</p>\n<div class=\"admonition note\"><p class=\"admonition-title\">Matematika!</p>\n<p>Douf&#xE1;m, &#x17E;e tenhle p&#x159;&#xED;klad nikoho neodrad&#xED;,\nale &#x201E;po&#x10D;&#xED;ta&#x10D;&#x201C; je holt od slova <em>po&#x10D;&#xED;tat</em>.\nNen&#xED; t&#x159;eba se d&#x11B;sit;\nna z&#xE1;klady programov&#xE1;n&#xED; si vysta&#x10D;&#xED;me s&#xA0;matematick&#xFD;mi\nznalostmi ze z&#xE1;kladn&#xED; &#x161;koly.</p>\n</div><p>V&#xFD;sledky by m&#x11B;l spo&#x10D;&#xED;tat Python; &#x10D;&#xED;slo 1424 nebo 126736 p&#x159;&#xED;m do programu nepi&#x161;.<br>\nJestli si nev&#xED;&#x161; rady, pod&#xED;vej se na program <code>printing.py</code>\nz&#xA0;<a href=\"/2019/brno-podzim-pondeli/beginners/print/\">lekce o <code>print</code></a>, kde jeden &#x159;&#xE1;dek d&#x11B;l&#xE1; n&#x11B;co podobn&#xE9;ho.</p>\n<p>A&#x17E; bude&#x161; m&#xED;t program hotov&#xFD;, nebo a&#x17E; bude&#x161; cht&#xED;t vyzkou&#x161;et rozepsan&#xFD; kousek,\nspus&#x165; ho:</p>\n<ul>\n<li>pokud ti u&#x17E; na za&#x10D;&#xE1;tku p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dky nesv&#xED;t&#xED; <code>(venv)</code>,\naktivuj si virtu&#xE1;ln&#xED; prost&#x159;ed&#xED;,</li>\n<li>pomoc&#xED; <code>cd</code> donaviguj do adres&#xE1;&#x159;e s&#xA0;programem,</li>\n<li>zadej <code>python ctverec.py</code>.</li>\n</ul>\n<p>Funguje? Jestli ne, oprav ho a zkus to znovu!\nKdy&#x17E; u&#x17E; jsi v&#xA0;p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dce ve spr&#xE1;vn&#xE9;m adres&#xE1;&#x159;i, spu&#x161;t&#x11B;n&#xED; znamen&#xE9; zadat\nznovu <code>python ctverec.py</code>.\nAbys to nemusela cel&#xE9; ps&#xE1;t, m&#x16F;&#x17E;e&#x161; se k&#xA0;p&#x159;edchoz&#xED;mu p&#x159;&#xED;kazu vr&#xE1;tit\npomoc&#xED; &#x161;ipky nahoru, <kbd>&#x2191;</kbd>.</p>\n<div class=\"solution\" id=\"solution-0\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2019/brno-podzim-pondeli/beginners/variables/index/solutions/0/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <p>Program, kter&#xFD; vyp&#xED;&#x161;e spr&#xE1;vn&#xFD; v&#xFD;sledek, m&#x16F;&#x17E;e vypadat t&#x159;eba takhle:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obvod &#x10D;tverce se stranou 356 cm je&apos;</span><span class=\"p\">,</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"mi\">356</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm&apos;</span><span class=\"p\">)</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obsah &#x10D;tverce se stranou 356 cm je&apos;</span><span class=\"p\">,</span> <span class=\"mi\">356</span> <span class=\"o\">*</span> <span class=\"mi\">356</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm2&apos;</span><span class=\"p\">)</span>\n</pre></div>\n    </div>\n</div><h2>Men&#x161;&#xED; &#x10D;tverec</h2>\n<p>Jestli v&#x161;echno funguje, zkus zm&#x11B;nit program tak,\naby po&#x10D;&#xED;tal obsah a obvod &#x10D;tverce o stran&#x11B; 123 cm.</p>\n<div class=\"solution\" id=\"solution-1\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2019/brno-podzim-pondeli/beginners/variables/index/solutions/1/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"highlight\"><pre><span></span><span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obvod &#x10D;tverce se stranou 123 cm je&apos;</span><span class=\"p\">,</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"mi\">123</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm&apos;</span><span class=\"p\">)</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obsah &#x10D;tverce se stranou 123 cm je&apos;</span><span class=\"p\">,</span> <span class=\"mi\">123</span> <span class=\"o\">*</span> <span class=\"mi\">123</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm2&apos;</span><span class=\"p\">)</span>\n</pre></div>\n    </div>\n</div><h2>Prom&#x11B;nn&#xE9;</h2>\n<p>Zvl&#xE1;dne&#x161; to i pro stranu 3945 cm, 832 cm, 956 cm?\nBav&#xED; t&#x11B; p&#x159;episov&#xE1;n&#xED; &#x10D;&#xED;sel?\nKdyby byl program del&#x161;&#xED; (n&#x11B;kolikastr&#xE1;nkov&#xFD;),\njak bys zajistila, &#x17E;e jedno z&#xA0;t&#x11B;ch &#x10D;&#xED;sel nep&#x159;ehl&#xE9;dne&#x161;?</p>\n<p>Existuje zp&#x16F;sob, jak program napsat,\nani&#x17E; bys musela poka&#x17E;d&#xE9; p&#x159;episovat v&#x161;echna &#x10D;&#xED;sla:\nstranu &#x10D;tverce si &#x201E;pojmenuje&#x161;&#x201C; a potom pou&#x17E;&#xED;v&#xE1;&#x161; jenom jej&#xED; jm&#xE9;no.\nV&#xA0;Pythonu na pojmenov&#xE1;v&#xE1;n&#xED; hodnot slou&#x17E;&#xED; <em>prom&#x11B;nn&#xE9;</em> (angl. <em>variables</em>).\nPou&#x17E;&#xED;vaj&#xED; se takto:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"mi\">123</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obvod &#x10D;tverce se stranou&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;je&apos;</span><span class=\"p\">,</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm&apos;</span><span class=\"p\">)</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obsah &#x10D;tverce se stranou&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;je&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span> <span class=\"o\">*</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm2&apos;</span><span class=\"p\">)</span>\n</pre></div><p>Neboli: nap&#xED;&#x161;e&#x161; jm&#xE9;no, pak rovn&#xED;tko a za rovn&#xED;tkem v&#xFD;raz,\njeho&#x17E; hodnota se do prom&#x11B;nn&#xE9; <em>p&#x159;i&#x159;ad&#xED;</em>.\nKdy&#x17E; potom nap&#xED;&#x161;e&#x161; jm&#xE9;no prom&#x11B;nn&#xE9; ve v&#xFD;razu,\npou&#x17E;ije se zapamatovan&#xE1; hodnota.</p>\n<div class=\"admonition style-note\"><p>Je zvykem d&#xE1;t p&#x159;ed i za rovn&#xED;tko po jedn&#xE9; meze&#x159;e.</p>\n</div><p>To n&#xE1;s vede k&#xA0;jedn&#xE9; ze z&#xE1;kladn&#xED;ch program&#xE1;torsk&#xFD;ch\nz&#xE1;sad: &#x201E;neopakuj se&#x201C; (anglicky <em>Don&apos;t repeat yourself</em>, <abbr class=\"initialism\">DRY</abbr>).\nKdy&#x17E; se n&#x11B;kde opakuje stejn&#xE1; hodnota, stejn&#xFD; v&#xFD;raz\nnebo stejn&#xFD; kus k&#xF3;du,\ndobr&#xE1; program&#xE1;torka\nten kus programu <em>pojmenuje</em>\na d&#xE1;l pak pou&#x17E;&#xED;v&#xE1; jen jm&#xE9;no.\n&#x10C;asto se toti&#x17E; st&#xE1;v&#xE1;, &#x17E;e je program pot&#x159;eba zm&#x11B;nit &#x2013;\nbu&#x10F; je v&#xA0;n&#x11B;m chyba nebo se zm&#x11B;n&#xED; zad&#xE1;n&#xED;.\nA potom je mnohem jednodu&#x161;&#x161;&#xED; zm&#x11B;nu ud&#x11B;lat jen na jednom m&#xED;st&#x11B;.</p>\n<p>Krom&#x11B; toho dobr&#xE1; jm&#xE9;na usnad&#x148;uj&#xED; &#x10D;ten&#xED; programu:\nu&#xA0;<code>4 * 183</code> nen&#xED; moc jasn&#xE9;, co ta &#x10D;&#xED;sla znamenaj&#xED;.\nV&#xFD;raz <code>4 * strana</code> je na tom mnohem l&#xED;p.</p>\n<div class=\"admonition extra-activity\"><h2>Kruhy</h2>\n<p><em>Tohle je p&#x159;&#xED;klad nav&#xED;c! Klidn&#x11B; ho p&#x159;esko&#x10D;.</em></p>\n<p>Zm&#x11B;na zad&#xE1;n&#xED;!\nZkus program doplnit tak, aby krom&#x11B; &#x10D;tverce po&#x10D;&#xED;tal\ni obvod a obsah kruhu se stejn&#xFD;m polom&#x11B;rem,\njakou m&#xE1; &#x10D;tverec stranu.</p>\n<p>Pro p&#x159;ipomenut&#xED;, obvod kruhu s&#xA0;polom&#x11B;rem <var>r</var>\nje <var>o</var> = 2&#x3C0;<var>r</var>, obsah <var>S</var> = &#x3C0;<var>r</var>&#xB2;\na &#x3C0; je zhruba 3,1415926.</p>\n<p>V&#x161;echna &#x10D;&#xED;sla, kter&#xE1; matematici ozna&#x10D;uj&#xED; jen jedn&#xED;m\np&#xED;smenkem (klidn&#x11B; &#x159;eck&#xFD;m), vhodn&#x11B; pojmenuj.</p>\n</div><h2>Koment&#xE1;&#x159;e</h2>\n<p>Program si te&#x10F; zp&#x159;ehledn&#xED;me <em>koment&#xE1;&#x159;em</em>.\nV&#xA0;Pythonu koment&#xE1;&#x159; za&#x10D;&#xED;n&#xE1; dvojk&#x159;&#xED;&#x17E;kem (<code>#</code>),\nza kter&#xFD; m&#x16F;&#x17E;e&#x161; napsat &#xFA;pln&#x11B; cokoliv &#x2013; a&#x17E; do konce\n&#x159;&#xE1;dku bude Python v&#x161;echno ignorovat.</p>\n<p>Koment&#xE1;&#x159;e jsou d&#x16F;le&#x17E;it&#xE9;: programy ne&#x10D;te jen po&#x10D;&#xED;ta&#x10D;, ale i lid&#xE9;.\nDo koment&#xE1;&#x159;&#x16F; si m&#x16F;&#x17E;e&#x161; poznamenat, co d&#x11B;l&#xE1; cel&#xFD; program,\nvysv&#x11B;tlit, jak funguje n&#x11B;jak&#xE1; slo&#x17E;it&#x11B;j&#x161;&#xED; &#x10D;&#xE1;st,\nnebo vyjasnit n&#x11B;co, co nen&#xED; jasn&#xE9; p&#x159;&#xED;mo z&#xA0;programu.</p>\n<p>V&#x17E;dycky, kdy&#x17E; p&#xED;&#x161;e&#x161; program, sna&#x17E; se v&#x17E;&#xED;t do role n&#x11B;koho,\nkdo potom ten program bude &#x10D;&#xED;st,\na v&#x161;echno, co by mohlo b&#xFD;t nejasn&#xE9;, up&#x159;esnit v&#xA0;koment&#xE1;&#x159;&#xED;ch.\n(Nej&#x10D;ast&#x11B;ji to bude&#x161; &#x10D;&#xED;st sama, t&#x159;eba po n&#x11B;kolika m&#x11B;s&#xED;c&#xED;ch,\ntak&#x17E;e t&#xED;m pom&#xE1;h&#xE1;&#x161; sama sob&#x11B;!)</p>\n<div class=\"highlight\"><pre><span></span><span class=\"c1\"># Tento program po&#x10D;&#xED;t&#xE1; obvod a obsah &#x10D;tverce.</span>\n\n<span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"mi\">123</span>  <span class=\"c1\"># v&#xA0;centimetrech</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obvod &#x10D;tverce se stranou&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;je&apos;</span><span class=\"p\">,</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm&apos;</span><span class=\"p\">)</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obsah &#x10D;tverce se stranou&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;je&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span> <span class=\"o\">*</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm2&apos;</span><span class=\"p\">)</span>\n</pre></div><div class=\"admonition style-note\"><p>P&#xED;&#x161;e&#x161;-li koment&#xE1;&#x161; na stejn&#xFD; &#x159;&#xE1;dek jako k&#xF3;d, je zvykem p&#x159;ed <code>#</code> d&#xE1;t dv&#x11B;\nmezery (nebo i v&#xED;c).\nZa <code>#</code> pak pat&#x159;&#xED; pr&#xE1;v&#x11B; jedna.</p>\n</div><h2>Na&#x10D;&#xED;t&#xE1;n&#xED; vstupu</h2>\n<p>Nakonec se pod&#xED;v&#xE1;me, jak za&#x159;&#xED;dit, aby &#x10D;&#xED;slo nemuselo b&#xFD;t\nzaps&#xE1;no v&#xA0;programu, ale aby ho mohl u&#x17E;ivatel zadat s&#xE1;m.</p>\n<p>Stejn&#x11B; jako kdy&#x17E; ses nau&#x10D;ila pou&#x17E;&#xED;vat <code>print</code>\ni tady jen &#x159;eknu, &#x17E;e na to pou&#x17E;ijeme <em>funkce</em>.\nDetaily si vysv&#x11B;tl&#xED;me pozd&#x11B;ji;\npro te&#x10F; to budou kouzeln&#xE1; za&#x159;&#xED;kadla.</p>\n<div class=\"admonition warning\"><p>Pozor, z&#xE1;le&#x17E;&#xED; na typu hodnoty kter&#xFD; chce&#x161; z&#xED;skat: text nebo &#x10D;&#xED;slo.\nVyb&#xED;rej pe&#x10D;liv&#x11B;!</p>\n</div><ul>\n<li><p>Chce&#x161;-li na&#x10D;&#xED;st <strong>&#x159;et&#x11B;zec</strong> (text), pou&#x17E;ij:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">promenna</span> <span class=\"o\">=</span> <span class=\"nb\">input</span><span class=\"p\">(</span><span class=\"s1\">&apos;Zadej &#x159;et&#x11B;zec: &apos;</span><span class=\"p\">)</span>\n</pre></div></li>\n<li><p>Chce&#x161;-li na&#x10D;&#xED;st <strong>cel&#xE9; &#x10D;&#xED;slo</strong>, pou&#x17E;ij:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">promenna</span> <span class=\"o\">=</span> <span class=\"nb\">int</span><span class=\"p\">(</span><span class=\"nb\">input</span><span class=\"p\">(</span><span class=\"s1\">&apos;Zadej &#x10D;&#xED;slo: &apos;</span><span class=\"p\">))</span>\n</pre></div></li>\n<li><p>Chce&#x161;-li na&#x10D;&#xED;st <strong>desetinn&#xE9; &#x10D;&#xED;slo</strong>, pou&#x17E;ij:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"n\">promenna</span> <span class=\"o\">=</span> <span class=\"nb\">float</span><span class=\"p\">(</span><span class=\"nb\">input</span><span class=\"p\">(</span><span class=\"s1\">&apos;Zadej &#x10D;&#xED;slo: &apos;</span><span class=\"p\">))</span>\n</pre></div></li>\n</ul>\n<p>M&#xED;sto &#x159;et&#x11B;zce <code>&apos;Zadej &#x2026;&apos;</code> se d&#xE1; napsat i jin&#xE1; v&#xFD;zva. \nA v&#xFD;sledek se samoz&#x159;ejm&#x11B; d&#xE1; ulo&#x17E;it i do jin&#xE9; prom&#x11B;nn&#xE9; ne&#x17E; <code>promenna</code>.</p>\n<p>Hotov&#xFD; program m&#x16F;&#x17E;e vypadat takto:</p>\n<div class=\"highlight\"><pre><span></span><span class=\"c1\"># Tento program po&#x10D;&#xED;t&#xE1; obvod a obsah &#x10D;tverce.</span>\n\n<span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"nb\">float</span><span class=\"p\">(</span><span class=\"nb\">input</span><span class=\"p\">(</span><span class=\"s1\">&apos;Zadej stranu &#x10D;tverce v&#xA0;centimetrech: &apos;</span><span class=\"p\">))</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obvod &#x10D;tverce se stranou&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;je&apos;</span><span class=\"p\">,</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm&apos;</span><span class=\"p\">)</span>\n<span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s1\">&apos;Obsah &#x10D;tverce se stranou&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;je&apos;</span><span class=\"p\">,</span> <span class=\"n\">strana</span> <span class=\"o\">*</span> <span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"s1\">&apos;cm2&apos;</span><span class=\"p\">)</span>\n</pre></div>\n\n\n        "
    }
  }
}