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

preview_player
Показать описание

.
#BubbleSort #Bublinkovétriedenie #InformatikaSMisom
.
🤪 TikTok: informatikasmisom
.
00:00 Úvod
01:13 Úloha
03:35 Teoretická časť
06:58 Implementácia
16:10 Záver
Рекомендации по теме
Комментарии
Автор

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 :)

Автор

res = numbers1 + numbers2
print(sorted(res))

Ale upřímně, že jde listy spojovat tímto způsobem jsem zjistil až teď :-)

elevendarter
Автор

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)

honzadancinger
Автор

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?

jozefzatko
Автор

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))

tomasdoubek
Автор

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?

povijarrro
Автор

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

nejkolatoulinkatejsi
Автор

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}")

vandrujemesk
Автор

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

marossik
Автор

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

jozefzatko
Автор

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)

imirec