Programování v Pythonu
Přihlásit se
Programování v Pythonu (18/21) · 2:12

Cvičení - Napište funkci pro seřazení Výzva - napište v Pythonu funkci, která fyzicky seřadí libovolný list.

Chci po Vás, abyste zkusili pro nějaký list - zde jsem vytvořil konkrétní příklad nějakého náhodného listu - napsat funkci, která tento list seřadí. Možná jí nazvete "my_sort()". Můžete jí nazvat jak chcete. Co chci, je aby po zavolání "my_sort()" na list byl tento list seřazen. Nechci, aby "my_sort()" vracela kopii toho listu. Chci, aby v případě, že po zavolání "my_sort()" na "a" budu odkazovat na "a" - řekněme, že provedu "print(a)", když provedu "print(a)" - tak doslova vrátí seřazenou verzi "a". Spíš bych měl říct, že vrátí "a", jenže jelikož je "a" nyní seřazen, pak list na který "a" odkazuje je také seřazen. Vypadalo by to takto, "a" bude [1,2,3,5,7,8] a Vy byste mohli říct, počkej Sale, to je přece jednoduché. V Pythonu přece existuje funkce pro řazení. Doslova můžeme zavolat "a.sort()" a "a" se fyzicky seřadí přesně tak, jak jsme chtěli. A když říkám fyzicky, myslím tím že to bude přímo platit pro tento konkrétní list. nevytvoří to žádnou seřazenou kopii listu. Bude to pracovat fyzicky s tímto konkrétním listem. A "a.sort()" přesně tohle dělá, ale to po Vás nechci. Pojďme to vyškrtnout. Celá pointa je v tom, pokusit se napsat naší vlastní funkci pro seřazení. A to co uvidíme, a doufejme, že i oceníte, jak půjdeme hlouběji a hlouběji pod povrch, je opravdu velice hodně způsobů, jak něco seřadit. A řazení je velice dobrý způsob, jak přemýšlet nad tím, jak dobrá funkce je - a začneme mluvit o algoritmech - jak dobrý nebo rychlý je proces nebo jak je efektivní v tom co dělá. Takže Vás nechám s tímhle. Pokuste se seřadit tohle. V příštím videu se pokusím naznačit algoritmus, který skutečně něco dělá. Naznačím algoritmus, který je tak trochu intuitivní co se týče řazení věcí. Není však zdaleka tak efektivní. A poté se pokusím podat co nejlépe - pokusím se - napsat algoritmus v python programu.
video