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 12 - Seznam 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
Nevik Qsuluqod:20.12.2015 18:43

Nemohl by si mi poradit, potřebuju vyprintovat seznam ale potřebuju aby to bylo bez hranatých závorek, obzvlášť když mám seznam v seznamu dik.

Odpovědět
20.12.2015 18:43
Je těžké naučit se HTML, všude ho učí špatně, a co itnetwork? TO JE BIBLE
Avatar
gcx11
Tvůrce
Avatar
gcx11:20.12.2015 18:56

Ahoj, na to se jde pomocí rekurze.
Zjistíš zda-li je prvek seznamu seznam, pokud ano, projedeš prvky nového seznamu, pokud ne, můžeš v klidu vytisknout prvek

Pokud budeš potřebovat hezčí výstup, je lepší si pohrát s parametry funkce print

def vytiskni_vnoreny_seznam(seznam):
    for prvek in seznam:
        if isinstance(prvek, list):
            vytiskni_vnoreny_seznam(prvek)
        else:
            print(prvek)
 
Odpovědět
20.12.2015 18:56
Avatar
hanpari
Člen
Avatar
Odpovídá na Nevik Qsuluqod
hanpari:20.12.2015 20:03
test = [1,2,
            [1,2,3],
            [1,2,
             [1,2,3]],
        4,5]

vysledek = str(test).replace("[","").replace("]","")
print(vysledek)
 
Odpovědět
20.12.2015 20:03
Avatar
hanpari
Člen
Avatar
Odpovídá na Nevik Qsuluqod
hanpari:20.12.2015 20:07

Anebo takto pro list i tuple:

vysledek = "".join([znak for znak in str(test) if znak not in "[]()"])
 
Odpovědět
20.12.2015 20:07
Avatar
Odpovídá na hanpari
Nevik Qsuluqod:21.12.2015 0:03

dik za odpoved

Odpovědět
21.12.2015 0:03
Je těžké naučit se HTML, všude ho učí špatně, a co itnetwork? TO JE BIBLE
Avatar
hanpari
Člen
Avatar
Odpovídá na Nevik Qsuluqod
hanpari:21.12.2015 14:40

Není zač, jen poznámka na okraj. Moje první řešení nepoužívej, to byla jen ukázka, zbytečně dělá totéž dvakrát. A v druhém řešení si vyhoď seznamovou komprehenzi. Je tam myslím zbytečná.

 
Odpovědět
21.12.2015 14:40
Avatar
nickname01
Člen
Avatar
nickname01:12.7.2019 15:20

Navrhuji vyměnit následující část textu

range(m, n, i) - vrátí čísla od m a každé další i-té číslo do n-1

za toto: range(m, n, i) - vrátí čísla od m a každé další i-té číslo do n, ale nebude počítat s prvkem n

Důvod:
Původní definice je podle mě nesprávná.

list(range(5, 3, -1))

vrátí [5, 4], nikoli [5, 4, 3, 2]. To samé pro ořezávání.

Jestli se mýlím, prosím opravte mě.

 
Odpovědět
12.7.2019 15:20
Avatar
Denisa Váňová:1.11.2019 21:32

Ahoj, pomohl by mi někdo s tímto zadáním v pythonu - uživatel zadá číslo n, program vypíše jeho zápis ve dvojkové soustavě. Moc děkuji :)

 
Odpovědět
1.11.2019 21:32
Avatar
Tom S.
Člen
Avatar
Odpovídá na Denisa Váňová
Tom S.:2.11.2019 12:50

Ahoj, na převod čísla do binární soustavy existuje funkce bin.

bin(99)

Číslo 99 je v binární soustavě 0b1100011 a pokud chceš jenom ty čísla, tak do proměnné ulož čísla která jsou za 0b a máš to hotovo. ;-)

 
Odpovědět
2.11.2019 12:50
Avatar
Milan Turyna
Tvůrce
Avatar
Milan Turyna:2.11.2019 14:51

Pokud chceš jen ty čísla jak psal Tomáš Sobol tak to se dá udělat pomocí:

bin(99)[2:]

bin(99) převede číslo (například 99) do dvojkové soustavy a [2:] udělá to, že se z výsledku odeberou první dva znaky v tomhle případě 0b.

Pokud ale budeš chtít aby uživatel zadal číslo do inputu a potom se jeho číslo dále zpracovávalo tak si na to udělej například funkci (to je jedno) a zkontroluj jestli to co zadal je opravdu číslo (integer, float myslím že nejde převést do dvojkové soustavy a nebo jde, ale bude s desetinnými čísly.).

Odpovědět
2.11.2019 14:51
Řeš pouze to, co dokážeš ovlivnit.
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 63.