David Šetek - Hackni svou budoucnost
David Šetek - Hackni svou budoucnost
Chtěli byste se naučit tvořit webové stránky a programovat? Není to tak těžké, jak většina lidí říká. Potřebujete jen začít. Na kanálu najdete již nyní videa o tvorbě webových stránek pomocí HTML a CSS. Pak můžete mrknout na JavaScript. Jsou zde také základní videa o PHP. Nyní připravuji videa o pokročilém JavaScriptu. Ponořte se do hlubin IT světa a zjistěte, co je opravdu zač. Není jen pro vyvolené nebo geniální lidi. Vůbec ne. Každý se může v této oblasti naučit přesně to, co potřebuje a hlavně co chce. Navíc na pracovním trhu není zrovna malá poptávka po schopných lidech. Udělám vše, abych z vás schopného člověka vytvořil. Tak se do toho pojďte pustit. Začněte kurzem na HTML a CSS a začněte budovat své první webové stránky.
Пікірлер
Zdravím, moc děkuji za kurz máte to velice přehledné a baví mě to, jen pro ujištění bych se chtěl zeptat, zda se to dá i zapsat takto: print("Vítejte v kalkulačce přestupného roku.") rok = int(input("Zadejte rok. ")) if rok % 4 == 0: if rok % 100 != 0: print("Jedná se o přestupný rok") if rok % 4 == 0: if rok % 100 == 0: if rok % 400 == 0: print("Jedná se o přestupný rok") else: print("Nejedná se o přestupný rok")
Kdo používáte macOS, tak vám teďka ušetřím celý den práce :D Aby vám to fungovalo, musíte mít u všech složek, které jsou součástí path ke složce (ve které chcete pracovat) nastaveno povolení pro všechny uživatele - čtení a zápis (běžně je u všech složek jen čtení a až pouze pro admina čtení a zápis). Druhá podmínka, aby to fungovalo - složka ve které chcete pracovat nesmí být na icloudu. Musí být například v applications. Pro icloud totiž nelze nastavit povolení pro čtení a zápis… tak.. konečně můžu dokoukat druhé video :D
Ja som si tú galériu nechal tak, ako bola pôvodne, čiže nedával som ju do tej jquerry galérie (to som robil iba zvlášť), takže v tejto mám všetký tie efekty, ako podklad a skryté pretekanie a pod. No a to robí fakt psie kusy pri tej responzivite a nepomáha ani finta s col :D ja som tam vela veci zmenil podla seba, no a teraz to nemôžem nastaviť tak, aby to vyzeralo dobre aj na malých obrazovkách, ale všeko ostatné sa v podstate prispôsobuje dobre.
Pohled na zadání mě trochu vyděsil, ale ač můj kód vypadal trochu jinak, v konzoli to vyšlo správně a matematika mi také funguje. Sice jsem teprve u 10. lekce, ale líbí se mi, že kurz jde hezky pozvolna + je vždy příležitost na procvičení, takže si říkám, že to programování třeba nebude taková hrůza :)
Super. Programování není hrůza. Je to jen další komunikační jazyk. Když má člověk motivaci a odhodlání, tak se to dokáže naučit
a co kdyby se udelala jen jedna Hlavni classa QuizBrain a v ni by se udaly vsechny metody, i ta na otazky? Takze by se spustil quizbrain jako objekt a postupne by se na nej nalepovaly metody a ukladala potrebna data. jdu to vyzkouset.
Tak masakr, vyzkousel jsem si to to udelat pomoci jen jedne classy a opatrit to metodatam a vesel jsem se na 35 radek a pritom kod je krasne citelnej
Děkuji za tento kurz, s VS code jsem se již setkal, ale s těmito vychytávkami se v něm bude pracovat mnohem lépe :)
Jsem rád, že se ti kurz líbil 🙂
ja bych tu defaultni hodnotu vydel spis, kdyz ji zadavas jako atribut do init funkce : def __init__(self, baterie, delka_rukou, oprava=365): protoze se muze stat, ze jeden z deseti modelu robotu bude potrebovat castejsi kontrolu a tu jednoduse zmenis pri vytvareni objektu.
Tak to záleží, jak si nadefinuješ zadání a co by měl tvůj kód přesně dělat
No, asi jsem měl procvičit funkci def, ale udělal jsem to trošku jinak :D import math vyska_zdi = float(input("Zadejte výšku zdi: ")) sirka_zdi = float(input("Zadejte šířku zdi: ")) velikost_zdi = round(vyska_zdi * sirka_zdi, 2) print(f"Velikost zdi je {velikost_zdi} m2") pokryti_plechovky = float(input("Kolik metrů čtverečních pokryje jedna plechovka barvy? ")) plechovek = math.ceil(velikost_zdi / pokryti_plechovky) print(f"Budete potřebovat {plechovek} plechovky")
To vůbec nevadí. Hlavní je, že je to funkční 🙂
moc dekuji za kurzy toto je moje reseni # importy import os import time from mymodule import menu from mymodule import resources # promene again = 'ano' # resetovani ceny def reset_price(): jedna = 0 dva = 0 pet = 0 deset = 0 dvacet = 0 padesat = 0 price = 0 # vybirani kavy def coffe(): while again == 'ano': def drink(): type_coffe = input('co za kavu by jste si dal (espresso/latte/cappucino): ') return type_coffe type_coffee = drink() if type_coffee == 'report': print(resources) if type_coffee == 'espresso': if resources["water"] >= menu["espresso"]["ingredients"]["water"] and resources["milk"] >= menu["espresso"]["ingredients"]["milk"] and resources["coffee"] >= menu["espresso"]["ingredients"]["coffee"]: print('na vas napoj mame dostatek surovin') resources["water"] -= menu["espresso"]["ingredients"]["water"] resources["milk"] -= menu["espresso"]["ingredients"]["milk"] resources["coffee"] -= menu["espresso"]["ingredients"]["coffee"] reset_price() print('prosim vlozte mince 1, 2, 5, 10, 20, 50') jedna = int(input('kolik chcete vlozit 1 Kc')) dva = int(input('kolik chcete vlozit 2 Kc')) pet = int(input('kolik chcete vlozit 5 Kc')) deset = int(input('kolik chcete vlozit 10 Kc')) dvacet = int(input('kolik chcete vlozit 20 Kc')) padesat = int(input('kolik chcete vlozit 50 Kc')) jedna = 1 * jedna dva = 2 * dva pet = 5 * pet deset = 10 * deset dvacet = 20 * dvacet padesat = 50 * padesat price = jedna + dva + pet + deset + dvacet + padesat if price >= menu["espresso"]["cost"]: print(f'cena napoje je {menu["espresso"]["cost"]} vy jste vlozili {price}') final_price = price - menu["espresso"]["cost"] print(f"{price} - {menu["espresso"]["cost"]} je {final_price}") print("dekujeme za vas nakup ") if price > 0: print(f"nezaponemte si drobne {final_price} Kc vyzvednot dole v prihradce") time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print(f'nevlozili jste dostatek penez cena espressa je {menu["espresso"]["cost"]} Kc vy jste vlozili pouze {price} Kc') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print('na nas napoj nemame doststek surovin pridte zitra az bude automat naplnen') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() if type_coffee == 'latte': if resources["water"] >= menu["latte"]["ingredients"]["water"] and resources["milk"] >= menu["latte"]["ingredients"]["milk"] and resources["coffee"] >= menu["latte"]["ingredients"]["coffee"]: print('na vas napoj mame dostatek surovin') resources["water"] -= menu["latte"]["ingredients"]["water"] resources["milk"] -= menu["latte"]["ingredients"]["milk"] resources["coffee"] -= menu["latte"]["ingredients"]["coffee"] reset_price() print('prosim vlozte mince 1, 2, 5, 10, 20, 50') jedna = int(input('kolik chcete vlozit 1 Kc')) dva = int(input('kolik chcete vlozit 2 Kc')) pet = int(input('kolik chcete vlozit 5 Kc')) deset = int(input('kolik chcete vlozit 10 Kc')) dvacet = int(input('kolik chcete vlozit 20 Kc')) padesat = int(input('kolik chcete vlozit 50 Kc')) jedna = 1 * jedna dva = 2 * dva pet = 5 * pet deset = 10 * deset dvacet = 20 * dvacet padesat = 50 * padesat price = jedna + dva + pet + deset + dvacet + padesat if price >= menu["latte"]["cost"]: print(f'cena napoje je {menu["latte"]["cost"]} vy jste vlozili {price}') final_price = price - menu["latte"]["cost"] print(f"{price} - {menu["latte"]["cost"]} je {final_price} Kc") print("dekujeme za vas nakup ") if price > 0: print(f"nezaponemte si drobne {final_price} Kc vyzvednot dole v prihradce") time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print(f'nevlozili jste dostatek penez cena espressa je {menu["latte"]["cost"]} Kc vy jste vlozili pouze {price} Kc') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print('na nas napoj nemame doststek surovin pridte zitra az bude automat naplnen') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() if type_coffee == "cappuccino": if resources["water"] >= menu["cappuccino"]["ingredients"]["water"] and resources["milk"] >= menu["cappuccino"]["ingredients"]["milk"] and resources["coffee"] >= menu["cappuccino"]["ingredients"]["coffee"]: print('na vas napoj mame dostatek surovin') resources["water"] -= menu["cappuccino"]["ingredients"]["water"] resources["milk"] -= menu["cappuccino"]["ingredients"]["milk"] resources["coffee"] -= menu["cappuccino"]["ingredients"]["coffee"] reset_price() print('prosim vlozte mince 1, 2, 5, 10, 20, 50') jedna = int(input('kolik chcete vlozit 1 Kc')) dva = int(input('kolik chcete vlozit 2 Kc')) pet = int(input('kolik chcete vlozit 5 Kc')) deset = int(input('kolik chcete vlozit 10 Kc')) dvacet = int(input('kolik chcete vlozit 20 Kc')) padesat = int(input('kolik chcete vlozit 50 Kc')) jedna = 1 * jedna dva = 2 * dva pet = 5 * pet deset = 10 * deset dvacet = 20 * dvacet padesat = 50 * padesat price = jedna + dva + pet + deset + dvacet + padesat if price >= menu["cappuccino"]["cost"]: print(f'cena napoje je {menu["cappuccino"]["cost"]} vy jste vlozili {price}') final_price = price - menu["cappuccino"]["cost"] print(f"{price} - {menu["cappuccino"]["cost"]} je {final_price} Kc") print("dekujeme za vas nakup ") if price > 0: print(f"nezaponemte si drobne {final_price} Kc vyzvednot dole v prihradce") time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print(f'nevlozili jste dostatek penez cena espressa je {menu["cappuccino"]["cost"]} Kc vy jste vlozili pouze {price} Kc') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print('na nas napoj nemame doststek surovin pridte zitra az bude automat naplnen') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() coffe()
2 komentář
while True: name = input("Zadejte název souboru: ") with open(f"{name}.txt", mode="w") as my_file: my_file.write("test") end_cycle = input("Chcete pokračovat? zadejte 'ano'") if end_cycle.lower() != "ano": break Mockrát děkuji za skvělou přípravu! :) Splněno během chvilky, pouze vygooglení zápisu "with"
{ "emmet.includeLanguages": { "javascript": "javascriptreact" }, "bracket-pair-colorizer-2.depreciation-notice": false }
tvoje kurzy jsou super cerpam z nich vsechny informace doufam ze v nich budes do budoucna pokracovat
Díky, jsem rád, že se ti kurzy líbí 🙂
Ahoj Davide, přemýšlel jsi někdy nad / zkoušel jsi někdy Next.js? Mohl by to být zajímavý další kurz
Ahoj, nějaké zkušenosti s Next.js mám. Určitě by to na React hezky navazovalo. Mám ho na seznamu
Plánujete někdy C# videa? :)
Dost lidí si o C# psalo. Až bude čas, tak bych se do něj také rád pustil
U proměnné je pouze "12345" a pak v podmínce jsou 2 hodnoty. Proměnná tam je jen kvůli identifikování datového typu?
Ta proměnná ti říká, který kód člověk u dveří zadává. V podmínce máš 2 kódy, protože dveře otevírají oba dva kódy. A ty musíš zjistit, jestli zadaný kód odpovídá jednomu nebo druhému kódu.
@@hacknisvoubudoucnost už chápu. Jsem mamlas. Děkuji za vysvětlení
@@martinheiler9964 Není vůbec zač 🙂
Mam velky problem, zda ze v automatu nejsou poharky, ted to mam cely od kafe, vsechno mi to vyteklo na podlahu a penize futch.
Z popisku k JS metodě includes (aby se někdo nedivil, jako já, proč při mountu není seznam prázdný): Vrátí true, pokud je hledaný řetězec nalezen kdekoli v daném řetězci, včetně případů, kdy je searchString prázdný řetězec; jinak false.
dal sem Score: score = len(body_parts) a nic se mi neopakuje nic nemusím nulovat
Já si sice kód už nepamatuji, ale vše se dá zapsat různými způsoby
Ahoj občas mám problém si zapamatovat co vlastně něco děla pišu si to do "notesu" v pc a občas tam nahlidnu myslíš že je to špatně?
Není. Já to dělám podobně, když se učím něco nového. Mám online dokument, kam si píšu poznámky a pak se podle toho učím a znovu a znovu to projíždím. Postupně v tom člověk začne vidět systém a ty nejdůležitější věci si zapamatuje. Zbytek se vždy už dohledá
Musel jsem se podívat na horskou dráhu, abych chytil začátek, ale potom už to jelo. Trošku jsem si s tím i pohrál :D (např. u každého možného konce objednávky jsem připsal že děkujeme). Asi by to šlo lehčeji, ale aspoň jsem zapojil mozkové buňky a mohl si s tím vyhrát. print("Vítejte v aplikaci na objednání pizzy.") velikost = input("Jakou velikost pizzy chcete? Na výběr je pouze S, M a L. ") cena = 0 if velikost == "S": cena += 100 print(f"Zvolil jste si velikost pizzy S, bez příplatků bude stát {cena} Kč.") feferonky = input("Chcete přidat feferonky? A nebo N: ") if feferonky == "A": cena += 20 print(f"Celková cena bude {cena} Kč") elif feferonky == "N": print(f"Celková cena bude {cena} Kč.") syr = input("Chcete extra sýr? A nebo N: ") if syr == "A": cena += 15 print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") elif syr == "N": print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") if velikost == "M": cena += 150 print(f"Zvolil jste si velikost pizzy M, bez příplatků bude stát {cena} Kč.") feferonky = input("Chcete přidat feferonky? A nebo N: ") if feferonky == "A": cena += 30 print(f"Celková cena bude {cena} Kč") elif feferonky == "N": print(f"Celková cena bude {cena} Kč.") syr = input("Chcete extra sýr? A nebo N: ") if syr == "A": cena += 15 print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") elif syr == "N": print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") if velikost == "L": cena += 200 print(f"Zvolil jste si velikost pizzy L, bez příplatků bude stát {cena} Kč.") feferonky = input("Chcete přidat feferonky? A nebo N: ") if feferonky == "A": cena += 30 print(f"Celková cena bude {cena} Kč") elif feferonky == "N": print(f"Celková cena bude {cena} Kč.") syr = input("Chcete extra sýr? A nebo N: ") if syr == "A": cena += 15 print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") elif syr == "N": print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!")
já jsem to napsal jak jantar: row1 = ["🎩", "🎩", "🎩"] row2 = ["🎩", "🎩", "🎩"] row3 = ["🎩", "🎩", "🎩"] print(f"{row1} {row2} {row3}") pos = input("zadej řádek >>> ") if pos == "00": row1.remove("🎩") row1.insert(0," x") print(f"{row1} {row2} {row3}") elif pos == "01": row1.remove("🎩") row1.insert(1, " x") print(f"{row1} {row2} {row3}") elif pos == "02": row1.remove("🎩") row1.insert(2, " x") print(f"{row1} {row2} {row3}") elif pos == "10": row2.remove("🎩") row2.insert(0," x") print(f"{row1} {row2} {row3}") elif pos == "11": row2.remove("🎩") row2.insert(1," x") print(f"{row1} {row2} {row3}") elif pos == "12": row2.remove("🎩") row2.insert(2," x") print(f"{row1} {row2} {row3}") elif pos == "20": row3.remove("🎩") row3.insert(0," x") print(f"{row1} {row2} {row3}") elif pos == "21": row3.remove("🎩") row3.insert(1," x") print(f"{row1} {row2} {row3}") elif pos == "22": row3.remove("🎩") row3.insert(2," x") print(f"{row1} {row2} {row3}")
Ahoj Davide opět dík za skvělou práci ;) Jen bych doplnil že v Linux OS pro spuštění mp3 funguje třeba: os.system('mpg123 audio.mp3')
Díky za doplnění 👍
Dobrý den mám dotaz ohledně toho zaoblení odkazu aby z toho bylo tlačitko jak se to dělá? Děkuji za odpověď
Ahoj, stačí použít border-radius: 15px; nebo jinou hodnotu.
Ahoj Davide, tvoje videa jsou jako čerství vánek v naší malé čr kotlince ;) Velký THX za tvou práci. Tady se možná přikláním k řešení "elevendarter112" kdy testuje rovnou celou fce a nakonci hodí except nevím jestli je to lepší nebo ne. Jen se mi zdá že jsem tohle řešení viděl častěji? Jinak proměnná text_result = "" je podle PEP zřejmně lepší ji nechat nadefinovanou hned na začátku i když to funguje i tak. Ještě jednou velké díky za tvou práci je to fakt zázrak že něco v takovém rozsahu zvládáš opravdu klobouk dolů ;) Petr
tady je moje reseni import os import random logo = """ _____ _ | __ \ (_) | | \/_ _ ___ ___ ___ _ _ __ __ _ __ _ __ _ _ __ ___ ___ | | __| | | |/ _ \/ __/ __| | '_ \ / _` | / _` |/ _` | '_ ` _ \ / _ \\ | |_\ \ |_| | __/\__ \__ \ | | | | (_| | | (_| | (_| | | | | | | __/ \____/\__,_|\___||___/___/_|_| |_|\__, | \__, |\__,_|_| |_| |_|\___| __/ | __/ | |___/ |___/ """ print(logo) print('vitejte ve hre gees seckret number porazte pocitac') print('vasim ukolem je uhadnout jedno cislo od 1 do 100') def game(): left = 1 dif = input('vyberte obtiznost "easy" nebo "hard" ') pc_num = random.randint(1, 100) if dif == 'easy': left = 10 else: left = 5 again = 'ano' while again == 'ano': if left > 0: user_num = int(input('napiste cislo ktere tipujete ')) if user_num < pc_num: print('vase cislo je prilis nizke') left -= 1 print(f'pocet zbyvajicich pokusu je {left}') elif user_num > pc_num: print('vase cislo je prilis vysoke') left-=1 print(f'pocet zbyvajicich pokusu je {left}') elif user_num == pc_num: print(f'gratuluji vyhrali jste nad pocitacem ') again = input('chcete hru spustit znovu "ano" nebo "ne"') if again == 'ano': os.system("cls") game() else: os.system("cls") print('dekujeme za hru doufame ze se zase vratite') break else: print('prohrali jste pocitac zvitezil') again = input('chcete hru spustit znovu "ano" nebo "ne"') if again == 'ano': os.system("cls") game() else: os.system("cls") print('dekujeme za hru doufame ze se zase vratite') break game()
Moje riesenie je taketo :D from turtle import Turtle, Screen turtle = Turtle() turtle.shape("classic") turtle.shapesize(0.5) turtle.color("red") turtle.circle(10) for x in range(10): turtle.color("black") turtle.circle(15 + x*5) my_screen = Screen() my_screen.exitonclick()
To vypadá, že propType končí: In React 19, we’re removing the propType checks from the React package, and using them will be silently ignored. If you’re using propTypes, we recommend migrating to TypeScript or another type-checking solution. We’re also removing defaultProps from function components in place of ES6 default parameters. Class components will continue to support defaultProps since there is no ES6 alternative.
Super video, jen tak mimochodem, pro tento účel by se dala využít lambda.
Díky 🙂
Určitě další hraní a příklady k procvičování👍
Ahoj, pokaždé když píšu php nebo html tak se mi změny na stránce projeví ihned, ale když píšu css tak se změny projeví až po vypnutí počítače, je to spíš drobnost, styly si vždy zkopíruju a vložim do konzole takže je vidím "ihned" . Nevíš kde by mohl být problém?
Ahoj, jediné, co mě napadá je, že se možná stránka refreshne, ale načtou se styly z mezipaměti. Tak jestli by nešlo mezipaměť pročistit při refreshnutí, ale to nevím, jestli jde udělat. Já si to vždy refreshnul manuálně
Určitě dobrý vědět. Nicméně podle mých informací je pro funkční komponenty modernější a často preferovanější přístup použití výchozích hodnot přímo v deklaraci funkce: const Book = ({ image = defaultImage, title = "...", price = 10 }) => {...}
Vždycky je více možností, jak se to dá udělat 🙂
@@hacknisvoubudoucnost Jasně, i když tady to vypadá, že propType dokonce úplně zařízli. Bohužel mi YT nějak nežere url na zdroj, takže copy/paste: In React 19, we’re removing the propType checks from the React package, and using them will be silently ignored. If you’re using propTypes, we recommend migrating to TypeScript or another type-checking solution. We’re also removing defaultProps from function components in place of ES6 default parameters. Class components will continue to support defaultProps since there is no ES6 alternative.
@@FirstNameLastName-kv2lx Evidentně se to dá vyřešit TypeScriptem. V tom se dnes React často píše
Snažil jsem se trochu hlouběji proniknout do toho, jak PropTypes fungují na úrovni JavaScriptu, tedy: Book.propTypes = { image: PropTypes.string.isRequired, title: PropTypes.string.isRequired, price: PropTypes.number.isRequired } Zde jsou moje postřehy: V implementaci PropTypes to funguje přibližně takto: const PropTypes = { string: function stringChecker(props, propName, componentName) { // Logika pro kontrolu, zda je prop string } }; PropTypes.string.isRequired = function requiredStringChecker(props, propName, componentName) { if (props[propName] == null) { return new Error(`The prop ${propName} is required in ${componentName}`); } return PropTypes.string(props, propName, componentName); }; A teď k tomu Book.propTypes: - Funkci Book (která je v tomto případě React komponentou) se přidává nová vlastnost propTypes. V JS jsou funkce speciálním typem objektu. Říkáme jim "funkční objekty" nebo "callable objekty". Jako objekty mohou mít funkce vlastnosti a metody, stejně jako jakýkoli jiný objekt. - Tato vlastnost, tedy propTypes je objektem. - Každá položka v tomto objektu (image, title, price) odpovídá očekávanému propu a její hodnota je výsledkem volání PropTypes.string.isRequired nebo PropTypes.number.isRequired. - string zde není datový typ, ale jednoduše název funkce, které se přidá další property s názvem isRequired, což je taky funkce. Jedná se o techniku zvanou method chaining. - Název propTypes je konvence v Reactu. React specificky hledá tuto vlastnost na komponentě pro typovou kontrolu. - Struktura objektu propTypes musí odpovídat struktuře, kterou očekáváme v props komponenty. - Hodnoty v objektu propTypes jsou funkce. Tyto funkce mohou vrátit null (pokud je vše v pořádku) nebo objekt Error (pokud validace selže). - React tyto funkce volá s argumenty (props, propName, componentName), jako props předá pole props, propName bude název aktuální vlastnosti a v componentName předá asi název komponenty, zde tedy "Book". Zkrátka celá ta syntaxe kolem Book.propTypes se dá realizovat díky method chaining, tedy že funkce může mít vlastnosti. Pokud to někomu pomůže, budu rád, pokud to někdo upřesní, budu ještě radši.
Děkuji moc za tento kurz, asi se tu budu opakovat, ale tvoje výuka je srozumitelná a vtipná a je neuvěřitelné, že to děláš jen tak zadarmo. Samozřejmě ještě dojedu bonusová videa, pak si asi odpočinu u krátkého kurzu Canvy a pak hurá na JavaScript, kterého se děsím :D Ale nenechám se odradit a budu doufat, že si to nějak sedne :)
Jsem rád, že se ti kurzy líbí. U JavaScriptu je důležité hodně opakovat a nejít dopředu moc rychle. Pak to půjde 🙂
Zdravím, skvelý kurz. Je zaujímavé, že s tými základmi čo máme dokáže každý spraviť iný program s rovnakým výsledkom. Nedokážem si predstaviť, čo dokáže celý jazyk...
To je na programování krásné. Každý to může napsat jinak. Je to jako vlastní styl psaní. A každý může mít svůj. Není moc věcí, které s Pythone nedokážeš
Ahoj Davide, chci ti poděkovat za další super kurz. Jako vždy byl skvělý. Tvoje forma podání je pro mě naprosto vyhovující. Byl jsem absolutní laik co se php a JS týče. Diky tobě nyní umím spoustu skvělých věcí. Mám jen jednu otázku, zjistil jsem, že se dá zeregistrovat i pokud se zadají rozdílná hesla. To už jsem si nějak upravil, ale chtěl bych vědět jak se dá udělat kontrola emailu (při vyplňování registračního formuláře) jestli už není tento email v databázi? Aby byl pod jedním emailem jen jeden user? Diky moc
Ahoj, jsem rád, že se ti kurzy líbí. To se určitě udělat dá. Než přidáš email do databáze, tak si musíš vytáhnout všechny současné emaily a zjistit, jestli mezi nimi tento nový již není. Pokud je, tak vyhodíš hlášku, že email je již registrovaný. Pokud ne, tak ho uložíš do databáze.
Dobrý den, nemáte odkat na tabulku? :)
Ahoj, mám jen toto: drive.google.com/drive/folders/1t4oJ4B-4ha7IZhYo7gqH2a8Xg2Gl4ITO?usp=sharing Ale nejsem si jistý, jestli to sedí přímo k videím
@@hacknisvoubudoucnost děkuji mrknu :)
Předně díky za super pochopitelné kurzy. Přecházím z excel VBA, takže se mi to možná zpracovává lépe, než někomu, kdo úplně začíná. Napsal jsem hru Piškvorky. Až po pár dnech jsem se k tomu vrátil, aby se podařilo ošetřit (snad) všechny kombinace výher a možných chyb na vstupu uživatele. Předpokládám, že tam je tuna balastu a šlo by to nějak vyřešit lépe/jednoduššeji, ale zatím se současnou znalostí + něco málo google. end_game = "A" while end_game == "A": # while na opakování hry print("Vítejte ve hře piškvorky. Budete zadávat souradnice - číslo řádku a pozici, kam chcete doplnit 🔴 nebo 🔵 ") set1 = ["⚫", "⚫", "⚫"] set2 = ["⚫", "⚫", "⚫"] set3 = ["⚫", "⚫", "⚫"] num = 1 used_num = [0] podminka = False print(f"{set1} {set2} {set3} ") while podminka != True: # while na vyhodnocení výhry - jednotlivé kombinace řádků, sloupců a diagonál, také vyhodnocení nevyýhry při nespojení 3 puntíků. all_sets = [set1, set2, set3] if set1[0] == set1[1] and set1[1] == set1[2] and set1[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[0]}.") elif set2[0] == set2[1] and set2[1] == set2[2] and set2[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set2[0]}.") elif set3[0] == set3[1] and set3[1] == set3[2] and set3[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set3[0]}.") elif set1[0] == set2[0] and set2[0] == set3[0] and set1[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[0]}.") elif set1[1] == set2[1] and set2[1] == set3[1] and set1[1] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[1]}.") elif set1[2] == set2[2] and set2[2] == set3[2] and set1[2] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[2]}.") elif set1[0] == set2[1] and set2[1] == set3[2] and set1[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[0]}.") elif set1[2] == set2[1] and set2[1] == set3[0] and set1[2] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[2]}.") elif num > 9: print(f"Konec hry. Nikdo nevyhrává.") podminka = True else: position = input("Zadejte souřadnice dvěma čárkou oddělenými čísly mezi 1 a 3 (číslo řádku a pozici znaku např: 1,2) ") if len(position) < 3 or position[1] != "," or len(position) > 3: #ošetření, aby délka byla max 3 znaky a prostřední byla čárka nothing = 0 else: souradnice = position.split(",") souradnice_num = position[0]+position[2] if souradnice_num.isdigit(): # ošetření, aby vložená hodnota byla číslo if int(souradnice_num) >= 11 and int(souradnice_num) <=33: # ošetření, aby vložená hodnota byla číslo ze správné kombinace řádků a sloupců if used_num.count(souradnice_num) < 1: # ošetření, aby si hráči nepřepisovali souřadnice. Hodnota se přidá do listu a pokud ji kontrola najde, nedovolí přepsat used_num.append(souradnice_num) osa_y = int(souradnice[0])-1 osa_x = int(souradnice[1])-1 if num % 2 == 0: all_sets[osa_y][osa_x] = "🔴" num += 1 print(f"{set1} {set2} {set3} ") else: all_sets[osa_y][osa_x] = "🔵" num += 1 print(f"{set1} {set2} {set3} ") else: print("Již použitá kombinace, zvolte jinou.") else: print("Špatná kombinace. Je možné použít pouze čísla 1, 2, 3") else: print("Špatná kombinace. Je možné použít pouze čísla 1, 2, 3") end_game = input("Chcete hrát znovu? Zadejte A pro pokračování a stiskněte enter, nebo N pro ukončení hry. ") end_game = end_game.upper()
Zdravím Davide, mohl bych se zeptat jak moc logické či nikoliv by bylo toto řešení? Není jednodušší si kompletní výpočet a podobně stanovit už v definici? Při zavolání definice jsou parametry doplněny mnou jako 0, ale je to ve výsledku jedno, protože definice pracuje až po spuštění po zadání konkrétních parametrů. Díky za feedback :) import math def paint_calculate(height, width, pcan): height = int(input("Výška zdi: ")) width = int(input("Šířka zdi: ")) pcan = height * width / 5 print(f"Budete potřebovat {math.ceil(pcan)} plechovek barvy") paint_calculate(0,0,0)
Ahoj, určitě to tam můžeš napsat. Není to nic proti ničemu. V programování se dají úlohy zapsat různými způsoby. Je u tvého kódu zapotřebí tam ty parametry mít? Všechno se dělá uvnitř funkce, takže bys tam asi žádné parametry (height, width, pcan) nemusel posílat
Zdravím, mne to zabralo pár dní, ale dal som to. Pri tom skúšaní som si toho veľa zopakoval. :) Skvelý kurz.
Super 👍
robim to co to a vzdy mi tam vyjde daky eror a to som len pri instalaciach, asi pan boh nechce aby som stym stracal cas :D
Mě když něco vyhazuje dost errorů nebo to nejde vůbec, tak zkusím verzi o řád nižší a většinou je to OK Překážky jsou od toho, aby se překonávaly
Děkujeme
Není vůbec zač 🙂
Ahoj, pokaždé když odešlu formulář tak mi z url adresy zmizí část za otazníkem (včetně otazníku) a provede se podmínka die("ID nezadáno"), takže se kód neprovede. I když celý kód odstraním tak po odeslání formuláře se z url adresy odstraní část za otazníkem. Nevíš kde by mohl být problém?
Ahoj, to takto těžko říci na dálku. Zkusil bych to dát do GPT nebo to můžeš hodit se screeny na discord a někdo z komunity se ti na to mrkne. Jsou tam šikovní lidé
@@hacknisvoubudoucnost díky za odpověď
@@petrstuchlik9210 Není vůbec zač
Další spousta místa se dá ušetřit změnou int64 na int16 nebo 32 kde to jde, dostal jsem se na 19,4 KB.
Ještě že neučíš dějepis :-) Do století páry se radši nepouštěj...
Dějepis dnes učí umělá inteligence 😃
@@hacknisvoubudoucnost Tak ta si to spočítá správně😎 Já jsem se učil dějepis naposledy v druhé polovině minulého století. Ale cosi si ještě pamatuju😁
touch je pre Linux, pre Win nefunguje :)
Pokud používáš git bash, tak ti to bude fungovat i na windowsu
Mistře děkuji. zatím nejlíp vysvětlená látka.
Není vůbec zač. Můžeš mrknout na novější kurz PHP, který je tady na kanálu. Je nový a rozšířený
@@hacknisvoubudoucnost Úžasný, hned mrknu 🙂
Díky moc za videa, pomáhají mi ve směru, kterým se vydat při učení a vždy potěší, když se mi povede udělat cvičení bez pomoci. Tady je způsob jakým jsem vyřešil tento příklad country = input("Zadejte zem, kterou chcete přidat do cestovatelského denníku: ") visited_cities = input("Zadejte města, které jste v zemi navštívil: (oddělte čárkou) ") visits = input("Zadejte, kolikrát jste zem navštívil: ") visited_cities_list = [] visited_cities = visited_cities.split(", ") for city in visited_cities: if city != " ": visited_cities_list.append(city) else: break travel_diary.append({"country": country, "visited_cities": visited_cities_list, "visits": visits}) print(travel_diary)
Jsem rád, že se ti videa líbí 🙂
Ahoj, možná někomu s MacOS pomůže: Nevytváří se složka "scripts", ale "bin". Pro spuštění se používá příkaz "source activate"
Dejv je borec !!! Pokud býváš v ČB, tak bych tě někdy pozval aspoň na pivo, za takovej lux si to rozhovně zasloužíš
Ahoj, jsem rád, že se ti videa líbí. Ano, bydlím v ČB 🙂