Python kurz v Slovenčine | Lekcia 30 | Úloha začiatočníci | Spájanie listov

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 14

  •  2 роки тому +5

    Ahojte ano da sa to vyriesit cez sorted(n1+n2) ale cielom cviceniua je precvicit algoritmicke myslenie a skusit pochopit co sa deje na pozadi :) mal som to spomenut v uvode :)

  • @elevendarter
    @elevendarter 2 роки тому +3

    res = numbers1 + numbers2
    print(sorted(res))
    Ale upřímně, že jde listy spojovat tímto způsobem jsem zjistil až teď :-)

  • @jozefzatko2403
    @jozefzatko2403 11 місяців тому

    ahoj prosím mam otázku čo znamená __init__ aj keď programujem s AI alebo aj sa m vo vs code tak sa mi to tam stále vyskytuje čo je to?

  • @povijarrro
    @povijarrro 2 роки тому +1

    Ahoj. Nie je jednoduchšie ako už aj ostatní písali
    def merge(n1,n2):
    return sorted(n1+n2)
    ? potom nemusia byť ani nka usporiadané aby sa výsledok usporiadal.
    Či je zadanie vyrobiť vlastnú fciu merge podobnú tej čo sa používa pri napr. QuickSorte?

    •  2 роки тому +1

      Cielom cvicenia je pochopit co sa deje na pozadi :)

  • @tomasdoubek7054
    @tomasdoubek7054 2 роки тому +1

    alebo pouzit sorted (nie je podstatna ani rastuca postupnost v poli :-) )
    def msort(n1, n2):
    res = []
    res += n1
    res += n2
    return sorted(res)
    if __name__ == "__main__":
    nums1 = [1,3,4,7,8,11, 18, 19, 20, -1]
    nums2 = [2,3,5,9,16]
    print(msort(nums1, nums2))

    • @MarcelSuleiman
      @MarcelSuleiman 2 роки тому

      porovnavam samozrejme
      res = []
      res += n1
      res += n2
      s
      res = nums1 + nums2

  • @nejkolatoulinkatejsi5749
    @nejkolatoulinkatejsi5749 2 роки тому +1

    Som zatiaľ v polovici kurzu ale aj toto sa do budúcna zíde

  • @honzadancinger
    @honzadancinger Рік тому

    Já jsem to vyřešil podle bubble sortu z minulé lekce:
    nums1 = [1, 2, 4]
    nums2 = [2, 3, 6]
    nums = nums1 + nums2
    for a in range(len(nums)):
    for i in range(len(nums)-1):
    if nums[i] > nums[i + 1]:
    temp = nums[i + 1]
    nums[i + 1] = nums[i]
    nums[i] = temp
    print(nums)

  • @jozefzatko2403
    @jozefzatko2403 11 місяців тому

    a ešte načo je tam to __name__ == "__main__" ?

  • @vandrujemesk8651
    @vandrujemesk8651 2 роки тому

    Mam prejdeny cely kurz a aj vacsinu pokracujuceho na OOP, ale to vysvetlenie nie, ze nepochopila, ale bolo zbytocne zlozite a vobec v predchadzajucich nebolo vysvetlene co to je a preco if__name__=="__main__":
    Moje riesenie je:
    nums1 = [1, 2, 4]
    nums2 = [2, 3, 6]
    vysledok = [1, 2, 2, 3, 4, 6]
    result = []
    for i in nums1:
    result.append(i)
    for j in nums2:
    result.append(j)
    result.sort()
    print(f"result {result}")

    • @branovislocky
      @branovislocky Рік тому

      Ahoj, pokusim sa ti to vysvetlit, ako to chapem ja. Tato podmienka sa vyhodnoti ako True len vtedy, ak sa nachadza v scripte, ktory spustas. Vsade inde (napr. ak ho importujes ako modul), sa tato cast nevykonava. Vsade inde sa to robi preto, ze ked sa pokusis SPUSTIT modul priamo, vtedy sa vyhodnoti tato podmienka ako True (ak modul tuto sekciu obsahuje) a vykonaju sa tzv. unit testy pre dany modul (otestovanie, ci funkcie v module pracuju spravne). Snad sa nemylim, ak ano, budem rad, ak ma niekto opravi ... Ak som to napisal zlozito, ozvi sa a pokusim sa to vysvetlit inak a snad zrozumitelnejsie.

  • @marossik
    @marossik Рік тому

    Pozor! Neklesajuci neznamena automaticky rastuci.
    1,2,3,4,3,2,1 je neklesajuci ako aj 3,2,2,3,1.

  • @imirec
    @imirec 7 місяців тому

    zoznam1 = [1, 4, 6, 8, 10]
    zoznam2 = [3, 5, 7, 9 ,10,33, 55]
    tmp = []
    rozdiel = min(len(zoznam1), len(zoznam2))
    for iteracia in range(rozdiel):
    if zoznam2[iteracia] < zoznam1[iteracia]:
    tmp.append(zoznam2[iteracia])
    tmp.append(zoznam1[iteracia])
    else:
    tmp.append(zoznam1[iteracia])
    tmp.append(zoznam2[iteracia])
    tmp.extend(zoznam1[rozdiel:])
    tmp.extend(zoznam2[rozdiel:])
    print(tmp)