IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 18 - Matematické funkce v Pythonu a knihovna math

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Martin Nožička:15.3.2023 13:42

Ahoj, jaksi mi nijak nefunguje cokoliv ohledně "random" a ten poslední import "from __future__ import braces". Vše ostatní funguje normálně. Taky jsem to trimbambiliónkrát kontroloval z každé strany i copy - pass, ale nic ,stále jen error. Tak pojedu zatím bez toho,ale kdyby tady někdo věděl ,co s tím,tak dejte vědět. Možná je potřeba něco změnit v Phycharmu... Nevím, jak píšu,vše ostatní funguje. Díky a já jedu dál! :)

 
Odpovědět
15.3.2023 13:42
Avatar
Karel Zaoral
Tvůrce
Avatar
Odpovídá na Martin Nožička
Karel Zaoral:14.7.2023 1:43

Ahoj, from __future__ import braces je tak trochu vtip v Pythonu. V Pythonu se bloky kódu definují pomocí indentace místo složených závorek, jak je to běžné v jiných jazycích, jako je například C++ nebo Java.

Pokud se pokusíš importovat braces z modulu __future__, Python vrátí chybu SyntaxError: not a chance, což je způsob, jakým vývojáři Pythonu říkají, že Python pravděpodobně nikdy nebude podporovat složené závorky pro definici bloků kódu :-D

 
Odpovědět
14.7.2023 1:43
Avatar
Honza Pačuta:19.8.2023 14:17

Nejsem fanda matematiky. A pro moji práci se random vůbec nehodí. ¯\_(ツ)_/¯

 
Odpovědět
19.8.2023 14:17
Avatar
Pavel Kopecký:23.11.2023 15:27

Mohl by mi tvůrce vysvětlit, proč se zde začíná zrovna s matematickými funkcemi? Proč se jako úplný začátečník s programováním musím učit eukleidovskou vzdálenost? K čemu mi to konkrétně bude?
Nebylo by lepší sem dát trochu něco zábavnějšího? Díky předem za odpověď.

 
Odpovědět
23.11.2023 15:27
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Pavel Kopecký
DarkCoder:23.11.2023 17:14

Je třeba mít cit pro to co bys mohl použít a co ne. Na výpočet délky předpony pravoúhlého trojúhelníku Ti stačí znát to jak vypočítat odmocninu a operace s aritmetickými operatory. Stačí tedy vědět že funkce už existuje a umět ji dohledat nebo si tu funkci napsat sám. Je to otázkou 30 sekund.

Odpovědět
23.11.2023 17:14
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na DarkCoder
Pavel Kopecký:26.11.2023 21:45

A jak mohu jako začátečník dopředu vědět, co bych mohl použít, a co ne? Předpokládám, že když nějakou látku vysvětlujete v kurzu, tak je asi důležitá a bude se mi v budoucnu hodit. Nebo to tak není? Díky za odpověď.

 
Odpovědět
26.11.2023 21:45
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Pavel Kopecký
DarkCoder:26.11.2023 22:42

Správný dotaz. Ač nejsem autorem žádného ze zdejších kurzů, zodpovím. Každá látka má svůj stupeň důležitosti, který se odvíjí od frekventovanosti použití v programu. Ta se mění pochopitelně dle toho o jakou aplikaci se jedná. Jako odrazový můstek můžeš brát své dosavadní životní zkušenosti. Dobré je si v duchu zodpovědět jednoduché otázky. Jak často používáš "kupecké" počty, jak často počítáš obvody či obsahy něčeho, co výpočet vzdálenosti mezi dvěma body, co pozice míče v čase u šikmého vrhu, co výpočet objemu nějakého tělesa u kterého znáš křivku pomocí integrálu, atd. Z toho co jsem vypsal je patrné, že budeš používat častěji to co jsem napsal první nežli, to co jsem napsal jako poslední možnost. Základní aritmetické operace tedy budou častější než výpočet kvadratické rovnice a ty zase budou častější než práce s logaritmy. To je jedna z možností. Další pak můžeš odhadnout či zjistit, co budeš potřebovat pro aplikaci kterou chceš sestavit. Co třeba grafická aplikace, rotace modelů podle osy. Tam už budeš operovat s maticemi, goniometrickými funkcemi, skalárním a vektorovým součinem. Ale to už jsou hodně specifické aplikace. Tedy znovu, je třeba určit co bude třeba znát. Když budeš pracovat s databázemi, budeš muset znát vyhledávání, třídění. Zkrátka mít jakousi představu o tom co bych chtěl dělat nebo musel udělat. Podle toho se danou látku naučit. Když budu chtít vytvořit hru, načíst mapu ze souboru do 2D pole, bez znalosti operace se soubory se neobejdu. Dost věcí už někdo vytvořil, které by nám mohli usnadnit práci. Je dobré mít představu co existuje a kde to najít, ušetříme si tím čas. Jinak máme dvě možnosti, buď si funkci sám napíšu, to se hodí třeba u malých jednoduchých výpočtů nebo ji někde dohledám a použiji. Nebudu si implementovat na koleni funkce jako výpočet goniometrických funkcí či odmocniny. Nic Ti však nebrání. Tím ale že si projdeš knihovny které daný jazyk nabízí, získáš jakousi představu o tom co se uvnitř nachází a pak si stačí jen vzpomenout kde to je a hotovou funkci použít. Je tedy třeba k tomu co budeš potřebovat přistupovat s citem. Jsou místa kde složitou matematiku nepoužiješ vůbec a naopak, kde to bude "na každém rohu". Jak budeš psát aplikace, zjistíš, co se jak často používá. Vždy se dá cokoli doučit "za letu". U žádného kurzu na zdejším fóru není zmínka o důležitosti dané látky. Obvykle ale čím nižší kapitola, tím větší důležitost.. Není to však pravidlem. Doufám, že v těchto slovech najdeš odpověď na svoji vhodně položenou otázku.

Odpovědět
26.11.2023 22:42
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na Pavel Kopecký
Dušan Kovářík:4. ledna 14:57

Jeden příklad ze života - zrovna nedávno se na mě obrátil programátor, který potřeboval vyřešit následující problém: na sloupu je otočné rameno a na něm kolejnice pro jednotku s kamerou (umístěnou s dvaceticentime­trovým offsetem od ramena). Pod tuto soustavu přijede náklaďák s obilím. Uživatel klikne na určité místo na obrazovce a musí se otočit rameno a na něm posunout ta jednotka s kamerou tak, aby byla přesně nad tím místem, kde uživatel klikl. Nebylo to složité - stačilo zkombinovat Pytharovu větu a převod pravoúhlých souřadnic na polární, ale už v tom byla matematika. A přitom rozhodně nešlo o žádný "vědecký" projekt - prostě soustava ke kontrole výšky obilí v náklaďáku, docela obyčejná věc.
Jak píše DarkCoder, nemusíš se učit všechno nazpaměť, ale je dobré mít povědomí o tom, že to existuje. Když pak během programování narazíš na něco, kde to budeš potřebovat, řekneš si "jo, o tom jsem někde četl" a jednoduše si to vygooglíš.

 
Odpovědět
4. ledna 14:57
Avatar
Lenka Chalupová:3. února 13:49

Zdravím, bude se mi něco z této kapitoly hodit pro závěrečný projekt? (Evidence pojištěnců) Děkuji.

 
Odpovědět
3. února 13:49
Avatar
Alesh
Tvůrce
Avatar
Alesh:21. května 17:38

V článku se píše následující:

Funkce round(), kterou už dobře známe, zaokrouhluje podle pravidel matematiky. Není součástí knihovny math, jde o vestavěnou (built-in) funkci Pythonu.

To není zas tak úplně pravda, stačí si vyzkoušet tento kód:

print(round(0.5))   # vrací 0
print(round(1.5))   # vrací 2
print(round(2.5))   # vrací 2
print(round(3.5))   # vrací 4
print(round(4.5))   # vrací 4
print(round(5.5))   # vrací 6

Jak je vidět, tak zatímco podle pravidel matematiky "půlky" zaokrouhlujeme vždy nahoru. Tak funkce round zaokrouhluje podle toho, jestli je celá část zaokrouhlovaného čísla sudá (číslo zaokrouhluje dolů) nebo lichá (číslo zaokrouhluje nahoru).

 
Odpovědět
21. května 17:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 20.