< Return to Video

Napsání jednoduchého programu, který počítá faktoriál. (Python 2)

  • 0:00 - 0:05
    V tomto videu
    vám chci představit cyklus "for".
  • 0:05 - 0:08
    A udělám to tak,
    že si napíšeme malý program,
  • 0:08 - 0:10
    který počítá faktoriál čísla.
  • 0:10 - 0:14
    Zopakujeme si nejdřív,
    co faktoriál s čísly dělá.
  • 0:14 - 0:16
    Co znamená třeba "1 faktoriál"?
  • 0:16 - 0:21
    Většinou se to píše jako 1!
  • 0:21 - 0:24
    V tomto případě se to prostě rovná 1.
  • 0:24 - 0:26
    Když řeknete 2 faktoriál,
  • 0:26 - 0:29
    bude se to rovnat 2 krát 1.
  • 0:29 - 0:32
    Když řeknete 3 faktoriál,
  • 0:32 - 0:38
    bude to 3 x 2 x 1,
  • 0:38 - 0:41
    a to se rovná 6.
  • 0:41 - 0:43
    Takže faktoriál nějakého čísla
  • 0:43 - 0:46
    bude to dané číslo
    vynásobené všemi menšími čísly
  • 0:46 - 0:49
    až do jedničky
  • 0:49 - 0:52
    Pojďme implementovat náš
    program k výpočtu faktoriálu.
  • 0:52 - 0:54
    A způsob, jakým to udělám,
  • 0:54 - 0:56
    bude vložení od uživatele,
  • 0:56 - 0:57
    Vyzve to uživatele
  • 0:57 - 1:00
    k zadání čísla, jehož faktoriál chce vypočítat
  • 1:00 - 1:02
    a potom to faktoriál vypočítá.
  • 1:02 - 1:03
    A co udělám,
  • 1:03 - 1:07
    použiji funkci, kterou nám poskytuje Python.
  • 1:07 - 1:10
    A já v tomto videu používám Python 2.
  • 1:10 - 1:12
    Vy byste to mohly udělat trochu odlišně -
  • 1:12 - 1:13
    opravdu, budu o tom mluvit za chvíli -
  • 1:13 - 1:14
    když používáte Python 3.
  • 1:14 - 1:15
    Python 2 je to,
  • 1:15 - 1:18
    v čem je prováděna většina implementací v Pythonu,
  • 1:18 - 1:20
    v tomto videu.
  • 1:20 - 1:21
    Ale venku už je Python 3,
  • 1:21 - 1:23
    to je druh novější verze.
  • 1:23 - 1:27
    Trochu to vyjasním v budoucím videu.
  • 1:27 - 1:30
    Nicméně, budeme brát vložení od uživatele
  • 1:30 - 1:32
    a jdeme vyzvat zprávou.
  • 1:32 - 1:33
    Řekneme mu
  • 1:33 - 1:44
    "Vložte kladné číslo, abyste získali jeho faktoriál."
  • 1:44 - 1:45
    A takže
  • 1:45 - 1:48
    seznámíme se s funkcí.
  • 1:48 - 1:50
    Vložíme do funkce argument.
  • 1:50 - 1:52
    A argument, který vložíme do funkce,
  • 1:52 - 1:56
    do vkládací funkce přímo zde - je řetězec.
  • 1:56 - 1:58
    a "string" (řetězec) zní jako velmi komplikovaná "thing" (věc),
  • 1:58 - 2:00
    ale opravdu je to pouze řetězec znaků.
  • 2:00 - 2:02
    Můžete jej vidět jako houf znaků.
  • 2:02 - 2:04
    To představí tento text uživateli,
  • 2:04 - 2:06
    a poskytne mu to malé vkládací pole.
  • 2:06 - 2:08
    A uživatel do toho pole něco napíše.
  • 2:08 - 2:10
    Vyhodnotí to, co je ve vkládacím poli
  • 2:10 - 2:12
    a potom, můžete se na to buď podívat,
  • 2:12 - 2:15
    že to odkazuje na proměnnou,
  • 2:15 - 2:17
    nebo vložit do proměnné číslo,
  • 2:17 - 2:21
    v závislosti na tom, jak si chcete proměnnou představit.
  • 2:21 - 2:25
    Pokud používáte Python 3,
  • 2:25 - 2:27
    zavoláte "eval" (hodnotu),
  • 2:27 - 2:29
    která vrátí hodnotu této funkce.
  • 2:29 - 2:31
    To je když používáte Python 3.
  • 2:31 - 2:33
    Já právě teď používám Python 2.
  • 2:33 - 2:36
    A jestli chcete dělat přesně to, co dělám já,
  • 2:36 - 2:39
    já používám PyScripter IDE -
  • 2:39 - 2:41
    Integrated Development Environment (vývojářské prostředí).
  • 2:41 - 2:44
    To je volně dostupný open-source projekt na počítač.
  • 2:44 - 2:46
    Ale je tu mnoho, mnoho způsobů jak můžete editovat Python.
  • 2:46 - 2:50
    Můžete to dělat klidně v jakémkoliv textovém editoru.
  • 2:50 - 2:54
    Takže, zatím vše co jsme udělali je, že jsme vzali vloženou hodnotu od uživatele
  • 2:54 - 2:56
    a dali jsme ji do proměnné.
  • 2:56 - 2:57
    To, co je na Pythonu opravdu fajn je,
  • 2:57 - 2:59
    že můžeme tento program nechat běžet
  • 2:59 - 3:00
    a prostě sledovat, co se stane.
  • 3:00 - 3:02
    Tak to pojďme udělat.
  • 3:02 - 3:04
    Uložit to a jdu ho spustit.
  • 3:04 - 3:07
    Toto malé tlačítko "play" běží v tomto IDE.
  • 3:07 - 3:10
    A jak jsme říkali, navádí to uživatele:
  • 3:10 - 3:12
    "Vložte kladné číslo, abyste získali jeho faktoriál."
  • 3:12 - 3:14
    Takže nevím - napíšu 10.
  • 3:14 - 3:17
    A klikám OK. Nic se nestalo.
  • 3:17 - 3:19
    Jasně, samozřejmě se nic nestalo,
  • 3:19 - 3:21
    protože já jsem opravdu neurčil nic, co by se mělo stát.
  • 3:21 - 3:24
    Ale když jsme napsali číslo,
  • 3:24 - 3:26
    uvidíme, že je teď zadaná 10.
  • 3:26 - 3:28
    Proměnná teď odkazuje na číslo 10.
  • 3:28 - 3:33
    Takže teď můžeme použít toto číslo a vypočítat jeho faktoriál.
  • 3:33 - 3:34
    Takže co udělám -
  • 3:34 - 3:36
    a jdeme to udělat opětovně -
  • 3:36 - 3:37
    povíme si více o tom,
  • 3:37 - 3:39
    co se stane v budoucnosti.
  • 3:39 - 3:42
    Takže já definuji další proměnnou pojmenovanou "product".
  • 3:42 - 3:44
    Nastavím "product" na 1.
  • 3:44 - 3:46
    Co uděláme je to,
  • 3:46 - 3:50
    že začneme od 1 nahoru k jakémukoliv číslu
  • 3:50 - 3:52
    a zachováme násobení productu
  • 3:52 - 3:55
    každým postupně větším číslem.
  • 3:55 - 3:56
    Takže jdeme začít.
  • 3:56 - 3:59
    Takže zadám tady cyklus "for".
  • 3:59 - 4:02
    V dalším videu to krok po kroku vysvětlím,
  • 4:02 - 4:04
    co přesně cyklus "for" dělá.
  • 4:04 - 4:05
    Snažíme se - kromě cyklu "for" -
  • 4:05 - 4:08
    snažíme se definovat proměnnou i.
  • 4:08 - 4:10
    To je klasická proměnná definovaná v cyklu "for".
  • 4:10 - 4:12
    A tato proměnná bude
  • 4:12 - 4:15
    udržovat inkrementaci (přičítání 1) k vyšším a vyšším hodnotám.
  • 4:15 - 4:16
    přes které půjdeme.
  • 4:16 - 4:19
    Takže "for i in range" (proměnná i v rozsahu cyklu).
  • 4:19 - 4:22
    A cyklus "for" je v Pythonu trochu odlišný než
  • 4:22 - 4:23
    když jste dělali v Javascriptu nebo Javě.
  • 4:23 - 4:25
    Udělám další video, ve kterém si to vysvětlíme.
  • 4:25 - 4:28
    Ale "range of number" (rozsah čísel) -
  • 4:28 - 4:30
    a k porozumění tomu, co je rozsah čísel,
  • 4:30 - 4:34
    poskytuje seznam čísel od 0
  • 4:34 - 4:36
    až k o 1 menšímu číslu než je toto.
  • 4:36 - 4:38
    Takže zde jsme již definovali, co je to za číslo,
  • 4:38 - 4:39
    je to číslo 10.
  • 4:39 - 4:43
    Takže když napíšu v rozsahu 10 - nebo mě nechtě dělat řadu čísel.
  • 4:43 - 4:47
    To mi dá seznam od 0 do 9
  • 4:47 - 4:48
    - ta je o 1 menší než 10.
  • 4:48 - 4:51
    A to je to stejné jako "range of 10" (rozsah 10).
  • 4:51 - 4:53
    A co tento cyklus "for" dělá je,
  • 4:53 - 4:57
    že přiřadí toto "i" každému členu pořadí.
  • 4:57 - 4:59
    Začne s 0 - nebo každým členem z tohoto seznamu.
  • 4:59 - 5:02
    Začne s 0 a potom udělá
  • 5:02 - 5:05
    cokoliv, co mu řekneš, aby udělal, v cyklu "for", když je "i" rovno 0,
  • 5:05 - 5:08
    potom to přiřadí "i" hodnotu 1.
  • 5:08 - 5:11
    Pardon. Na začátku bude "i" 0, potom se bude rovnat 1,
  • 5:11 - 5:14
    potom se bude rovnat 2, potom 3 - a tak dále -
  • 5:14 - 5:19
    pořád dokud budeš chtít, pořád napříč seznamem čísel.
  • 5:19 - 5:25
    A takže co tady chceme udělat je -
  • 5:25 - 5:28
    kromě cyklu "for"
  • 5:28 - 5:30
    chceme znovu definovat product,
  • 5:30 - 5:34
    tak, aby se rovna productu (předchozímu productu).
  • 5:34 - 5:39
    Takže náš nový product bude náš starý product
  • 5:39 - 5:44
    a já ho vynásobím i + 1.
  • 5:44 - 5:46
    Budeme to opatrně procházet dále ve videu.
  • 5:46 - 5:48
    Ale já chci, abyste přemýšleli o tom, co už je uděláno.
  • 5:48 - 5:50
    Dobře, když začneme,
  • 5:50 - 5:54
    řekněme, že číslo končí jako 3.
  • 5:54 - 5:56
    Takže product nastavíme jako 1.
  • 5:56 - 5:58
    A řekneme "for i in range".
  • 5:58 - 6:02
    Potom, když děláme "range of 3",
  • 6:02 - 6:05
    prvně bude "i" nula.
  • 6:05 - 6:06
    A vezmeme...
  • 6:06 - 6:09
    náš starý product - takže 1 - vynásobíme ho i + 1.
  • 6:09 - 6:12
    Dobře i je nula, takže 0 + 1 je 1.
  • 6:12 - 6:15
    Tak to bude 1 x 1, což bude 1.
  • 6:15 - 6:18
    Potom bude mít "i" hodnotu 1.
  • 6:18 - 6:19
    To je to, co dělá cyklus "for".
  • 6:19 - 6:21
    Opakuje. Udržuje inkrementaci (zvyšování).
  • 6:21 - 6:23
    Dobře, ne vždycky dělá inkrementaci.
  • 6:23 - 6:25
    Prostě udržuje změnu hodnoty proměnné "i",
  • 6:25 - 6:27
    když jde napříč seznamem hodnot.
  • 6:27 - 6:29
    A takže dále je náš product 1.
  • 6:29 - 6:35
    Ale teď je 1, takže 1 + 1 = 2, vynásobeno 1 je 2.
  • 6:35 - 6:37
    A potom - potom bude hodnota nastavena na 2.
  • 6:37 - 6:39
    Takže to bude 2 + 1 ...
  • 6:39 - 6:43
    vynásobeno tím, jako hodnotu měl produkt od minulého opakování - to bylo 2.
  • 6:43 - 6:46
    A takže to bude 2 x 3 a to je 6.
  • 6:46 - 6:49
    A když jsme to nakonec udělali s tímto cyklem "for"
  • 6:49 - 6:51
    uvnitř productu -
  • 6:51 - 6:54
    nebo hádám, že jsme řekli, že product bude odkazovat na
  • 6:54 - 6:57
    aktuální faktoriál vloženého čísla.
  • 6:57 - 7:01
    Tak teď můžeme říct "print product" (vypiš product).
  • 7:01 - 7:04
    A v Pythonu - v tomto zdejším případě -
  • 7:04 - 7:07
    interpret ví, jak zastavit cyklus "for"
  • 7:07 - 7:10
    když běží, k určení "i".
  • 7:10 - 7:12
    Takže to je důvod proč to neběží donekonečna.
  • 7:12 - 7:17
    Takže, pojďme se podívat, co jsme udělali.
  • 7:17 - 7:19
    Podívejme se, jestli to skutečně funguje.
  • 7:19 - 7:23
    Podívejme - skutečně - vypíše toto.
  • 7:23 - 7:26
    Pojďme se podívat, jestli tato věc skutečně funguje.
  • 7:26 - 7:30
    Takže uložím to. A potom to pustím.
  • 7:30 - 7:31
    A požaduje to po mně:
  • 7:31 - 7:33
    "Vložte kladné číslo, abyste získali jeho faktoriál."
  • 7:33 - 7:36
    Takže zkusme to s 3. - Enter.
  • 7:36 - 7:37
    To mi dá správnou odpověď.
  • 7:37 - 7:40
    Zkusme to znovu.
  • 7:40 - 7:44
    Takže, "Vložte kladné číslo, abyste získali jeho faktoriál."
  • 7:44 - 7:47
    Nevím, zkusme něco většího: 10.
  • 7:47 - 7:51
    Funguje to. Předpokládám, že si to můžete sami ověřit.
  • 7:51 - 7:53
    Takže co jsme udělali je to, že jsme napsali velmi jednoduchý program.
  • 7:53 - 7:54
    Ale dělá něco opravdu pěkného -
  • 7:54 - 7:56
    vypočítá faktoriál libovolného čísla.
  • 7:56 - 7:57
    V dalším videu
  • 7:57 - 7:59
    se podíváme mnohem více podrobněji,
  • 7:59 - 8:03
    způsobem, který vás zmate - co dělá cyklus "for".
  • 8:03 - 8:05
    Takže, držte se se mnou i v dalším videu a sledujte to.
  • 8:05 - 8:09
    Má to trochu více opatrné vysvětlení.
Title:
Napsání jednoduchého programu, který počítá faktoriál. (Python 2)
Description:

Napsání jednoduchého programu s cyklem FOR, který počítá faktoriál zadaného čísla

more » « less
Video Language:
English
Duration:
08:09
Czech Grammar Bot edited Czech subtitles for Writing a Simple Factorial Program. (Python 2)
Daniel Hollas edited Czech subtitles for Writing a Simple Factorial Program. (Python 2)
Aneta Dufková added a translation

Czech subtitles

Revisions Compare revisions