NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 2 - Tuples, množiny a slovníky v Pythonu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Lindar
Člen
Avatar
Lindar:23.6.2018 10:37

Ahoj!
Cas pokrocil, ja pouzivam Python 3.6. Mozna proto shledavam nasledujici nesrovnalosti:
insert(prvek, pozice) - prohodit prvek/pozice
remove(prvek) Odstraní prvek ze seznamu. - doplnila bych, ze pouze na nejnizsim indexu, nikoli vsechny vyskyty

Navic v testech je Python 2.7 a u otazky, co vraci print( type(1/2) ) mi IDEcko aktualne vraci <class 'float'>, nikoli <type 'int'>... Je to matouci, kdyz jsem Python 2.7 nikdy nepouzivala.

Odpovědět
23.6.2018 10:37
Když se chce, všechno jde!
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Lindar
David Hartinger:23.6.2018 11:29

Ahoj, díky za připomínky. Tento článek je pro Python 3, stejně jako celý kurz. U metody insert() je to opravdu prohozené a to je chyba, opravil jsem to. K delete() jsem přidal informaci o prvním výskytu. Kvíz 2.7 je zde proto, že se tato verze stále často používá, to tedy není chyba.

Odpovědět
23.6.2018 11:29
New kid back on the block with a R.I.P
Avatar
Marty
Člen
Avatar
Marty:16.3.2020 3:54

Ahoj,

dokázal by mi někdo vysvětlit, co je toto za fail? Proč je to u 4. printu posunuté o jeden index?

print([2*x for x in range(5)])  # [0, 2, 4, 6, 8]
print({2*x for x in range(5)})  # {0, 2, 4, 6, 8}

print([2*x for x in range(1,5)])  # [2, 4, 6, 8]
print({2*x for x in range(1,5)})  # {8, 2, 4, 6}

Díky.

 
Odpovědět
16.3.2020 3:54
Avatar
Odpovídá na Marty
Antonín Martykán:19.3.2021 22:07

v posledním řádku jsi použil složené závorky, které se používají pro kolekci "set" (množina). Ta je, na rozdíl od seznamu, neuspořádaná (nedá se indexovat)

 
Odpovědět
19.3.2021 22:07
Avatar
Geronymo Fuhrmann:24.7.2022 13:41

Lekce není úplně aktualní a kód jak na zacátku o n-ticích tak u seznamů je chybný:
jiny = [1, 2, 3]
jiny2 = list(range(3))
jiny2 nevrátí [ 1, 2, 3], ale [ 0, 1, 2]

 
Odpovědět
24.7.2022 13:41
Avatar
Petr Váchal
Člen
Avatar
Petr Váchal:3.11.2022 22:16

U alternativního procházení seznamu mi přijde nešťastné zmiňovat for znak in range(len(seznam)):
Máme funkci enumerate. Ta je pro tento účel přímo vytvořená. Tak proč to komplikovat...
Jinak hezká lekce, děkuji vám za ni. Oceňuji informaci o funkci reversed v metodě sort a o funkci key.

Odpovědět
3.11.2022 22:16
Tolik bezradnosti, a furt se žije. Ej!
Avatar
arnie
Tvůrce
Avatar
Odpovídá na Marty
arnie:19.1.2023 16:35

Ahoj,
range() bez udání spodního limitu začíná automaticky na 0 a končí číslem o jedno menší než je nastaven horní limit (číslo které zadáš do range() udává počet cyklů, pokud zadáš spodní i horní limit, počet cyklů = horní limit - spodní limit), například: range(2, 5) začne na 2 a skončí na čísle 4 (cykly budou 5-2=3).

V tvém případě jsi v prvním příkladu omezil range pouze shora, tudíž program prošel 5 cyklů (0, 1, 2, 3 ,4).
A v druhém příkladu jsi omezil range zdola i shora, tudíž program prošel 4 cykly (1, 2, 3, 4) 😉

 
Odpovědět
19.1.2023 16:35
Avatar
Marie Pazoutova:12.6.2023 14:20

Jen upozornění na chybu:
hned u první ukázky k tuples, pro

print(polozky)

je uvedený výstup z konzole 1, 2, 3, 7,
x správně má být (1, 2, 3, 7)

 
Odpovědět
12.6.2023 14:20
Avatar
Odpovídá na Marie Pazoutova
Marie Pazoutova:12.6.2023 15:28

a další poznámka, v ukázce vyhledávání ve slovníku s operátorem in bych ukázkový skript upravila tak, aby fungoval i pro input zadaný s velkým písmenem:

simpson = input("Ahoj, zadej svého oblíbeného Simpsona (z rodiny Simpsonů): ").lower()

tak, jak je to teď úplně nedává smysl použití simpson.lower() až dál (řádek 12). Si myslím.

 
Odpovědět
12.6.2023 15:28
Avatar
Michal Salvet:28.7.2023 12:18

Ten pop() be mel vratit random element ze setu. Je nejake vysvetleni proc to v tomto pripade vraci porad 20?
Jinak doporucuji zapomenout/vymazat ceske nazvy a pouzivat jen anglicke pro tyhle veci. Je v tom pak hrozny gulas a zbytecne komplikovane. Taky vsude rikate treba string nebo str a vsichni tomu rozumi.

 
Odpovědět
28.7.2023 12:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 29.