Python kurz v Slovenčine | Lekcia 7 | Polia

Sdílet
Vložit
  • čas přidán 28. 05. 2024
  • Ďalšie materiály nájdeš na: github.com/misohu/kurz_python...
    V prípade ak chcete finančne podporiť kanál tak viete tak spraviť na mojom Patreone: / informatikasmisom
    Jedinečný kurz python v Slovenčine pre absolútnych začiatočníkov. Mišo je skúsený online učiteľ a zároveň bývalý doktorand fakulty informatiky a informačných technológii na STU (FIIT).
    Prosím odberajte kanál, aby ste zostali informovaní o novikách Informatiky s Mišom. Taktiež kurz zdieľajte svojím priateľom a učiteľom informatiky. Chceme naučiť programovať absolútne každého. Ďakujeme!! Nové lekcie 2 krát za týždeň.
    👨‍👩‍👧‍👦 Discord: / discord
    💵 Patreon: / informatikasmisom
    🎥 CZcams: / informatikasmišom
    📸 Instagram: / informatikasmisom
    👍 Facebook: / informatikasmisom
    💻 Github: github.com/misohu
    🤵 Linkedin: / michal-hucko
    🏫 Skillshare: www.skillshare.com/r/profile/...
    Anglickú verziu kurzu viete nájsť ZADARMO na: skl.sh/30wXxmO
    #python #pythonkurz
    Časová os:
    00:00 Úvod
    00:46 Čo je to pole, alebo list?
    03:02 Definovanie poľa a indexovanie (technická časť)
    09:04 Operácie nad poľami (technická časť)
    21:03 Zhrnutie a záver

Komentáře • 51

  •  Před 3 lety +5

    Menšia zmena na instagrame ma nájdete pod @informatikasmisom, budem rád keď dáte follow.

  • @viliamplavak
    @viliamplavak Před 5 měsíci

    Miško vysvetľuje perfekt , dopodrobna . Učil som sa podľa neho aj C++ . Všetko má perfekt pripravená . Len nech mu to vydrží . Inak , Michal , štastné a veselé vianoce a všetko dobré do nového roku

  •  Před 3 lety +1

    Akosi mi to pripomína prácu v exceli :D Super vysvetlené dopodrobna. Ďakujem.

    •  Před 3 lety

      V niektorych pripadoch je to velmi podobne :) ale python umoznuje ovela viac :) Dakujem

  • @milanhoffman40
    @milanhoffman40 Před 2 lety

    Michal super tutorial !

  •  Před 3 lety +1

    Ahoj Míšo. Díky za super kurz a skvělá videa. Upřímně jsou zatím to nejlepší co pro mou rodnou řeč je dostupné.
    Narazil jsem ale na jednu "podivnost" ve cvičení v souboru. Je to tento kod, který uvádíš # Funkcia remove vymaze prvok na indexe v zatvorke
    numbers=[0,1,2,3,4,5,0]
    numbers.remove(0)
    print(numbers)
    Zjistil jsem ale že takto nefunguje, protože popisuješ že vymaže prvek na idexu v závorce, ale ve skutečnosti to vymaže prvek 0. Pakliže by tam nula nebyla, tak to hlásí chybu. trošku jsem hledal na internetu a našel jsem, že na mazání pomocí indexu v listu je funkce .pop tedy numbers.pop(0)
    Pokud je to špatně a nepochopil jsem to, tak mě oprav.
    Pak jsem ještě objevil jednu zajímavost a to že když vložím do listu jiný list pomocí proměnné, tak změný v původním vloženém se projevují i v cílovém. Tedy jako příklad vložím do numbers = [0, 1, 2, 3, 4, 5] další list pomocí přiřazené proměnné name = ['a', 'b', 'c'] takto numbers.append(name) tak se přiřadí name na konec. Pokud provedu změnu v name.append[d] tak se změna projeví i v numbers.
    nyní ale nastává zajímavá věc. Pokud provedu změnu v name tímto způsobem: name = name + ['e'] tak v name je zapsána ale v numbers už se neobjeví přidané e. Proč tomu tak je? Předpokládám, že to možná souvisí s nějakou dědičností, která se vytratí? Tedy původní name přestane existovat a existuje nová name. Pak ale nerozumím, že zůstane původní name vložena v numbers (když neexistuje). Snad jsem to napsal srozumitelně.
    >>> numbers = [1,2,3,4,5]
    >>> name = ['a','b','c']
    >>> name
    ['a', 'b', 'c']
    >>> numbers
    [1, 2, 3, 4, 5]
    >>> numbers.append(name)
    >>> numbers
    [1, 2, 3, 4, 5, ['a', 'b', 'c']]
    >>> name.append('d')
    >>> name
    ['a', 'b', 'c', 'd']
    >>> numbers
    [1, 2, 3, 4, 5, ['a', 'b', 'c', 'd']]
    >>> name = name + ['e']
    >>> name
    ['a', 'b', 'c', 'd', 'e']
    >>> numbers
    [1, 2, 3, 4, 5, ['a', 'b', 'c', 'd']]

    •  Před 3 lety +2

      Ahoj, k tomu remove ... mas pravdu funguje to tak ako si napisal ... pomylil som sa ospravedlnujem sa za zmatok :). ono ja tu remove funkciu moc nepouzivam preto som to mal v hlave zle ulozene :)
      A teraz k tomu co hovoris toto sa deje preto lebo premenne v sebe nesu ukazovatel do pamati a python preto aby setril pamat niekedy len presunie ukazovatel do pamati a niekedy vytvori uplne nove miesto v pamati s novymi hodnotami. V tvojom uplne super priklade priklade to skusim vysvetlit velmi jednoducho.
      >>> numbers = [1,2,3,4,5]
      >>> name = ['a','b','c']
      teraz bude numbers ukazovat (po anglicky sa to vola reference) do pamati kde bude [1,2,3,4,5]
      a name bude ukazovat do pamati ['a','b','c'].
      >>> numbers.append(name)
      Po tomto riadku sa na zaver listu numbers len prida ukazovatel na miesto kde ukazuje numbers. Tymto python setri pamat lebo znovupouzije uz raz zapisane pole (toto moze byt velmi uzitocne pri obrovskom poli). Preto sa zmeni aj povodne numbers
      >>>name = name + ['e']
      V tomto pripade ty zakazes pythonu menit tu referenciu do pamate ale priamo ho donutis vytvorit nove miesto v pamati ..... on na pozadi necha tu staru referenciu ktoru pouzival numbers a vytvori cisto novu na ktoru bude ukazovat to name.
      Toto je velmi silny a zaroven zlozitejsi koncept v pythone preto som to nechcel davat do uvodnej lekcie pythonu. Dufam ze som ti tym aspon trosku pomohol.
      Inac mas k tomu uceniu pythonu idealny pristup, z takehoto experimentovania sa naucis vela. Kludne sa pridaj na nas discord kde ti vedia kedykolvek pomoct aj ostatny studenti discord.gg/5CsEb3mP

    •  Před 3 lety

      @ Díky Míšo za vyčerpávající odpověď. Přidám si Discord. Jinak jsem opravdu nadšený z tvé výuky, klidně bys mohl dělat lektora:-) Tak pozvánka je neplatná nebo vypršela:-( Dřív jsem se nedostal... Už jsem tam, tak vyřešeno :-)

    •  Před 3 lety

      @ Ked podla mna taketo videa viac pomozu ako ked by som robil lektora pre jedneho dvoch ludi :)

    • @Mtladanco
      @Mtladanco Před rokem

      to je zaujímavé, ja som spravil presne toto ako to tu popisuješ a mne to na konci vyhodilo [1, 2, 3, 4, 5, ['a', 'b', 'c', 'd', 'e']]

  • @matussedivy4372
    @matussedivy4372 Před 2 lety +3

    Ahoj. Ak by si niekedy robil druhú edíciu kurzu pythonu, prosím používaj radšej termín "zoznam", už len z toho dôvodu, že ak neskôr budeš používať balík numpy, tak sa vyhneš konfliktu s pomenovaniami (nehovoriac o tom, že organizácia dát v pamäti je trochu iná). Taktiež by som používal termín "metóda" na to, čo nejakým spôsobom pracuje s objektom (príklad: numbers.append(moje_cislo)), a termín "funkcia" na to, kde objekt vstupuje len ako parameter (príklad: len(numbers)). Všimol som si, že od ďalšej lekcie používaš VS code. Miesto príkazového riadku môžeš tiež v druhej edícií na začiatok používať Python shell (IDLE), ktorý je bežne súčasťou inštalácie Pythonu.

  • @remmqoothemelon8960
    @remmqoothemelon8960 Před 2 lety

    paradne video

  • @peterfabian2254
    @peterfabian2254 Před 2 lety

    Už to tam niekto napísal, že to viac pripomína údajovú štruktúru zoznam (nakoniec sa to tak aj v Pythone volá) ako polia (ak to porovnáme s "klasickými" programovacími jazykmi kde polia = arrays = indexované premenné). Pre zrozumiteľnosť by potom asi bolo lepšie hovoriť o zoznamoch než o listoch, ktoré sú aj na stromoch a na pošte, takže sa to môže mýliť...-;

  • @dannyfox1449
    @dannyfox1449 Před 3 lety

    😮

  • @vitalijrajcynec8786
    @vitalijrajcynec8786 Před 3 lety

    Zdravim,
    zeptám se (nějak jsem se do toho zamotal)
    number = [1, 2, 3, 4] => čísla(int) jsou prvky a [ ] je list (doufám že aspoň v tomhle mám jasno)
    [[1, 2], 3, 4] => teď k té [1, 2]
    je to vlastně jeden prvek v listu nebo list v listu?
    ještě jedná ukázka
    [1 ,[2] ,3 , [4]]
    v jednom listu se nacházejí další dva listy?
    Děkuji za odpověď :-)

    •  Před 3 lety +1

      Ano tretia ukazka ma 4 prvky: 2 cisla a dva listy.

  • @Erotakman
    @Erotakman Před 3 lety

    Ahoj Michal, môžeš mi prosím povedať prečo cez príkazový radok daná funkcia funguje, ale cez editor nie?
    number_list = [0,1,2,3,4,5,0,[1,2],[3,4,[5]]]
    print(number_list[-1][-1][0] = "Ľubo")

    •  Před 3 lety

      Ahoj v kode co si mi poslal je chyba :) ... konkretne v tom printe mas = ak chces porovnat ci sa nejaky obsah pola rovna retazcu "Lubo" tak musis napisat == ... kod tak ako si mi ho poslal by nemal fungovat ani v prikazovom riadku ani v editore :) Ak si teda chcel obsah poľa porovnať s reťazcom "Ľubo" prosim skus zdvojiť rovnasa (==). Daj vedieť či som ti pomohol a či to funguje.

    • @Erotakman
      @Erotakman Před 3 lety

      @
      Chcel by som nahradiť v poli [5] stringom 'Lubo' (tak ako to robíš vo videu), kód mi teda ide v prikazovom riadku, ale ke´d ho zadám v editori : tak mi len vybehne chybné hlásenie
      >>> number_list [-1][-1][0]= 'Lubo'

    •  Před 3 lety +1

      @@Erotakman rozumiem takže uistisa ze kod vyzera takto teda nedavaj to priradenie rovno do printu:
      number_list = [0,1,2,3,4,5,0,[1,2],[3,4,[5]]]
      number_list[-1][-1][0] = "Ľubo"
      print(number_list)
      pre istotu vypni a zapni vs code ... je mozne ze si omylom zapol interpreter v nom a preto ti to pise chybu. Daj vediet ci pomohlo.

    • @Erotakman
      @Erotakman Před 3 lety

      @ veľmi pekne ďakujem, funguje to ;)

    •  Před 3 lety

      Kedykoľvek napis som tu pre teba :)

  • @matejhurta1072
    @matejhurta1072 Před 5 měsíci

    tie domáce úlohy su niekde ešte osobitne? alebo myslíš tie záverčné príkazy?

  • @noobname9004
    @noobname9004 Před 3 lety +1

    Neviem ci to len mne ale bojím sa že často krát zabúdam na veľa funkcií písem si ich do zošita ale problém je vtom že po 1 lekcii mám taký nával informácii že mi trvá aj 2 dni dokým to spracujem

    •  Před 3 lety

      Ahoj kludne daj tomu cas a vrat sa k tomu na dalsi den .... nevzdavaj to :)

  • @danksin9642
    @danksin9642 Před 2 lety

    kde najdem zip subor

  • @michaillinet4502
    @michaillinet4502 Před 10 měsíci

    Ahoj. Skúšam sa baviť s tým reverse a napadla ma jedna vec. Možno je to hlúposť ale mám [1, 2, 3, 4, 5, [6, 7]]. Je možné nejak otočiť len tú [6, 7]?

    • @stanislavzaoral7167
      @stanislavzaoral7167 Před 5 měsíci

      Napada me pouze to
      - vyzobat
      - prevratit
      - vratit zpet:
      >>> arr=[1, 2, 3, 4, [11, 12,[111,112], 13, 14]]
      >>> arr_inner=arr[4][2]
      >>> arr_inner.reverse()
      >>> arr[4][2]=arr_inner
      >>> arr
      [1, 2, 3, 4, [11, 12, [112, 111], 13, 14]]
      ale asi existuje neco elegantnejsiho.

  • @ivetajurcova5194
    @ivetajurcova5194 Před 3 lety +1

    pri letters.remove('c') odmazalo iba prve 'c', druhe ostalo

    •  Před 3 lety

      JJ je tam chyba ospravedlnujem sa :)

    • @user-fj9bf1uu1m
      @user-fj9bf1uu1m Před rokem

      Takže ta fcia maže len na prvej pozícií?ďakujem

    • @user-fj9bf1uu1m
      @user-fj9bf1uu1m Před rokem

      Už som odpoveď našla.

  • @miroslavrosipala4592
    @miroslavrosipala4592 Před 2 lety

    Ahoj Miso. Ako to urobit : >>> number = [1, 2, 3]
    >>> number + [4, 5]
    [1, 2, 3, 4, 5]
    >>> number [-1]
    3
    >>> print(number + [4, 5])
    [1, 2, 3, 4, 5]
    >>> number [-1]
    3
    ako vypisat c. 5

  • @vasilijrozanov7873
    @vasilijrozanov7873 Před 2 lety

    prečo po pridaní 6,7, v ďalšom riadku s výpisom numbers tam je len 1-5?

  • @noobname9004
    @noobname9004 Před 3 lety

    Nevieš ako sa jednoducho píšu jednoduché úvodzovky lebo mne to s klasickými nešlo

    •  Před 3 lety

      Ahoj pouzivaj anglicku klavesnicu a shift plus tlacidlo na lavo od enteru :)

    • @adrianceluch5990
      @adrianceluch5990 Před rokem

      alebo ALT+039

  • @romanklaska3483
    @romanklaska3483 Před 3 lety +2

    len mala poznamka (na 90% zbytočna ale nie nepodstatna) - ked davas text do videi, skus pouzivat aj ciarky... clovek skorej pochopi :D

    •  Před 3 lety

      Dakujem ... snazim sa na tom zapracovat :) snad to bude uz len lepsie a lepsie

  • @darinamuchova7598
    @darinamuchova7598 Před 3 lety

    otázka k lekcii Reťazové operácie : čo znamená ! pri čísle? ,prečo je 9!=10 pravda

    •  Před 3 lety +5

      != znamená "nerovná sa" je to opakom == a teda 9!=10 znamená 9 nerovná sa 10 a to je pravda :)

  • @user-gn6cf8uc8d
    @user-gn6cf8uc8d Před 3 lety

    20:29 mam pocit ze odstranilo len prve c na ktore nadabilo

    •  Před 3 lety

      Jj je tam mensia chybicka :) ospravedlnujem sa :( skvely postreh

    • @matusturzak3905
      @matusturzak3905 Před 3 lety

      @ Ahoj, a teda vieme aj preco odstranilo iba to jedno C ked tam boli dva? aby sme v tom mali jasno. Dakujem

    •  Před 3 lety

      @@matusturzak3905 Ahoj funkcie remove maže len prvý výskyt elementu v zátvorke. Tak je tá funkcia navrhnutá a prišla s inštaláciou pythonu. Ak chceme vymazať všetky výskyty budeme musieť použiť cyklus, ktorý si vysvetlíme v neskorších lekciách :)

    • @matusturzak3905
      @matusturzak3905 Před 3 lety

      @ Dakujem krasne :)

  • @ivetajurcova5194
    @ivetajurcova5194 Před 2 lety

    V živote nepochopím prečo v jazyku "C" a odvodených od neho alebo podobných jazykoch, všetci tak vytrvalo používajú túto nezmyselnú indexáciu stringov. Neviem, čo k tomu viedlo Ritchieho, keď to tam zaviedol, ale taká komplikácia vzdialená od nášho prirodzeného chápania, je neprirodzená a prácu programátorom len komplikuje a vedie k častým a zbytočným chybám. Napr. jazyk 4gl to má krásne urobené podľa toho ako je naše prirodzené chápanie a programátor sa s tým nemusí nijako pasovať. 🤔

  • @RDX21.
    @RDX21. Před 2 lety

    dobre video ale nelubi sa mi to ze je to strasne rychle
    a nestiham

    • @dusanjarkovsky7907
      @dusanjarkovsky7907 Před 2 lety

      To pozastavuj. Já to tak dělám, když to jdu hned zkoušet ve VS.