NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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 3 - Vícerozměrné seznamy 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
Přemek Koch
Člen
Avatar
Přemek Koch:25.9.2015 9:59

Opravdu je ukázka definice zubatého pole v pořádku?

 
Odpovědět
25.9.2015 9:59
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Přemek Koch
gcx11:25.9.2015 10:11

Není, díky za upozornění :)

 
Odpovědět
25.9.2015 10:11
Avatar
Přemek Koch
Člen
Avatar
Odpovídá na gcx11
Přemek Koch:25.9.2015 10:12

Rádo se stalo, díky za článek!

 
Odpovědět
25.9.2015 10:12
Avatar
Milan Šmídl:17.12.2015 10:20

Ahoj,
moc dekuji za skvelé clanky a velice ocenuji vasi ochotu sdilet sve vedomosti..v teto kapitole mam problem pochopit nasledujici

kinosal = []

for i in range(5):
    temp = []
    for j in range(5):
        temp.append(0)
    kinosal.append(temp)

zde jsme vytvorili seznam temp, naplnily ho peti nulami a ten jsme znovu petkrat vlozili do seznamu kinosal. Chapu ze pozice v seznamu temp je souradnice radku a pozice v seznamu kinosal je souradnice sloupce. Ale pak nechapu zapis

for i in range(1, 4):
    kinosal[3][i] = 1
# Poslední řádek
for j in range(0, 5):
    kinosal[4][j] = 1

prostredek ano

Prostředek
kinosal[2][2] = 1
Ale nemuzu se dopocitak pozice prvku a ani mi nesedi range, nemohl by jste prosim nekdo zkusit, trosku jiny vyklad, popripade styl vysvetleni...dekuji
Editováno 17.12.2015 10:21
 
Odpovědět
17.12.2015 10:20
Avatar
coells
Tvůrce
Avatar
Odpovídá na Milan Šmídl
coells:17.12.2015 15:01

range(1, 4) vrátí prvky 1, 2, 3
range(0, 5) vrátí prvky 0, 1, 2, 3, 4
tím pádem je celkem jasné, jak čtvrtý a pátý řádek budou vypadat.

Alternativně se dá celý příklad napsat takhle:

kinosal = [[0] * 5 for _ in range(5)]

kinosal[2][2] = 1
kinosal[3][1:4] = [1] * 3
kinosal[4][:] = [1] * 5

import pprint
pprint.pprint(kinosal)

Nicméně, tenhle tutoriál je jen jedna-k-jedné zkopírovaný tutoriál na C#, aniž by si s tím autor lámal hlavu.
http://www.itnetwork.cz/…ozmerna-pole
V pythonu se programuje úplně jinak, než v C#, takže bych doporučil celý tenhle seriál nebrat moc vážně a zkusil se podívat na něco čistě pythonovského.

 
Odpovědět
17.12.2015 15:01
Avatar
coells
Tvůrce
Avatar
Odpovídá na Milan Šmídl
coells:17.12.2015 15:29

Malá poznámka pro trochu pokročilejší programování - Python podporuje vícerozměrná pole, ale je k tomu potřeba modul numpy.
Pak se dá pracovat s polem, které má mnoho dimenzí a je k tomu všechen luxus, který Python běžně nabízí.

Stejný příklad můžu napsat takhle:

import numpy as np

kinosal = np.zeros((5, 5), dtype=int)
kinosal[2, 2] = 1
kinosal[3, 1:4] = 1
kinosal[4, :] = 1
print(kinosal)

Nebo obecněji s pokročilejší technikou:

import numpy as np

kinosal = np.tril([1] * 5)
kinosal = kinosal * np.fliplr(kinosal)
print(kinosal)
 
Odpovědět
17.12.2015 15:29
Avatar
Odpovídá na coells
Milan Šmídl:17.12.2015 21:34

Diky ti, posunul jsem se, ale jeste stale nejsem uplne"doma":)
S programovanim zacinam, tento serial je muj vubec prvni pocin v IT:) Python jsem si vybral, protoze s nim zacinaji na MIT ( kurz "programing and computer science"), tvrdi, ze je to nejvhodnejsi jazyk pro uplne zacatecniky a ja nemam duvod jim neverit:) jeste mi dovol prosim malou otazecku, nedoporucil by jsi mi nejaky vhodny zdroj informaci? Jak jsi se ucil ty?
Jeste jednou diky za tvuje prispevky..

 
Odpovědět
17.12.2015 21:34
Avatar
Odpovídá na coells
Milan Šmídl:29.12.2015 13:12

Ahoj prosim mam jeste jeden dotaz, ze jsem tak smely:)
snazim se ted udelat uplne jednoduchej programek, ktery bude na obrazovce vykreslovat uplne jednoduchy fraktal a zasekl jsem se na tom, ze nejsem schopen do funkce která kreslý fraktál(vzdy s o polovinu mensimi parametry)impor­tovat data.Zkratka nejsem schopen udelalt funkci která promenou vzdy v cyklu vynasobí jednou polovinou a to bude argument funkce pro kresleni..Bojim se aby to bylo srozumitelne..Mohl by jsi byt tak hodny a zkusil mi dat nejake rady na zacatek..lehce do me strcit:) Dekuji

 
Odpovědět
29.12.2015 13:12
Avatar
coells
Tvůrce
Avatar
Odpovídá na Milan Šmídl
coells:29.12.2015 18:43

Milane, bojíš se oprávněně, vůbec netuším, co potřebuješ udělat, ani čemu nerozumíš.
Pokud je to dotaz typu, chci fráktál, ale netuším, jak to udělat, tak si projeď ta videa, o kterých jsme mluvili dříve.

 
Odpovědět
29.12.2015 18:43
Avatar
Odpovídá na coells
Milan Šmídl:30.12.2015 6:58

Je mi to jasny:) dam sem kod a uvidis jestli ti to neco rekne, kazdopadne diky za reakci..hezky den

 
Odpovědět
30.12.2015 6:58
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 41.