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 4 - Hrací kostka v Pythonu podruhé - Překrývání metod a random

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
Jakub Ježek
Člen
Avatar
Jakub Ježek:7.12.2023 17:11

Nebylo by tady vhodnější, když už je argumentem importu přímo ve funkci úspora času a místa, použít "from random import randint" místo importu celého random? Nebo je to jednou a i tak by se naimportoval celý random?

 
Odpovědět
7.12.2023 17:11
Avatar
Karel Zaoral
Člen
Avatar
Odpovídá na Jakub Ježek
Karel Zaoral:7.12.2023 20:57

Ahoj Jakube, v podstatě máš pravdu. Nedoporučuju to ale vůbec používat, i v lekci zdůrazňuji, že to uvádím jen pro zmínku. Import jedné funkce bude vždy rychlejší a méně náročný, než import celého modulu. V praxi, a zejm. u malých modulů jako je random, ten rozdíl ale bude téměř neznatelný.

Editováno 7.12.2023 20:58
 
Odpovědět
7.12.2023 20:57
Avatar
Duy Hoang Do
Člen
Avatar
Duy Hoang Do:10.12.2023 22:35

Jaký jsou pravidla pro řádkování? Kostka mi to ho házela mnohem více krát, než jsem zjistil, že jsem měl jiný řádkování, resp. že chyběla jedna mezera mezi řádky

 
Odpovědět
10.12.2023 22:35
Avatar
Karel Zaoral
Člen
Avatar
Odpovídá na Duy Hoang Do
Karel Zaoral:11.12.2023 0:02

Ahoj, s dotazem sem vždycky prosím vkládej kód, kterého se to týká. Na tvou otázku se bez toho prostě nedá odpovědět.

 
Odpovědět
11.12.2023 0:02
Avatar
Duy Hoang Do
Člen
Avatar
Duy Hoang Do:11.12.2023 8:31

Ahoj, už jsem to přepsal a nemůžu tu chybu znovu vyvolat, ale bylo něco v téhle oblasti.

print(sestistenna)
for _ in range(10):
    print(sestistenna.hod(), end=" ")

print("\n", desetistenna, sep="")
for _ in range(10):
    print(desetistenna.hod(), end=" ")

input()
 
Odpovědět
11.12.2023 8:31
Avatar
Karel Zaoral
Člen
Avatar
Odpovídá na Duy Hoang Do
Karel Zaoral:11.12.2023 11:01

Ahoj, jediné, co mě napadá, je, že bys špatným odsazením vnořil ty cykly o sebe:

sestistenna = Kostka(6)
desetistenna = Kostka(10)
print(sestistenna)
for _ in range(10):
    print(sestistenna.hod(), end=" ")

    print("\n", desetistenna, sep="")
    for _ in range(10):
        print(desetistenna.hod(), end=" ")

input()

Pak by výstup vypadal takto:

<__main__.Kostka object at 0x00000228CB170C50>
1
<__main__.Kostka object at 0x00000228CB170DD0>
6 5 7 6 3 2 3 7 1 10 2
<__main__.Kostka object at 0x00000228CB170DD0>
7 6 6 2 8 7 10 4 4 8 6
<__main__.Kostka object at 0x00000228CB170DD0>
2 6 2 7 8 1 5 3 9 7 5
<__main__.Kostka object at 0x00000228CB170DD0>
8 9 10 9 8 7 2 7 1 1 4
<__main__.Kostka object at 0x00000228CB170DD0>
8 4 3 5 4 2 4 6 10 9 4
<__main__.Kostka object at 0x00000228CB170DD0>
2 1 2 1 10 6 8 9 6 3 6
<__main__.Kostka object at 0x00000228CB170DD0>
2 10 2 2 10 4 2 9 10 1 1
<__main__.Kostka object at 0x00000228CB170DD0>
6 3 7 4 4 3 8 1 3 6 6
<__main__.Kostka object at 0x00000228CB170DD0>
8 2 5 9 6 10 5 5 3 2 5
<__main__.Kostka object at 0x00000228CB170DD0>
10 2 3 10 8 10 9 3 5 6

Na odsazování si musíš zkrátka dát pozor. Tím, že Python neuzavírá bloky do závorek, je špatná indentace (osazení) bohužel zdrojem fakt pitomých chyb, které se někdy dost blbě hledají. Proto je důležité kód co nejvíce dělit do samostatných podcelků - tříd, metod a funkcí. Tím se pak snadněji pátrá po tom, kde je chyba.

 
Odpovědět
11.12.2023 11:01
Avatar
Duy Hoang Do
Člen
Avatar
Odpovídá na Karel Zaoral
Duy Hoang Do:11.12.2023 11:04

Díky, jj to bylo asi tim :)

 
Odpovědět
11.12.2023 11:04
Avatar
Jakub Leskota:11.7.2024 10:39

Proč vyplňovat ručně jaou range, když už máme metodu "vrat_pocet_sten" a to nám bude skvěle doplňovat čísla

 
Odpovědět
11.7.2024 10:39
Avatar
Adam Černý
Člen
Avatar
Odpovídá na Jakub Leskota
Adam Černý:9. března 9:16

Metoda vrat_pocet_sten na každé zavolání vrátí u daného objektu jediné číslo - hodnotu počet stěn. Tahle metoda, tak jak je, nikdy náhodná celá čísla vracet nebude.

 
Odpovědět
9. března 9:16
Avatar
Michal Nekoranec:17. března 19:25

repetetivní použití stejného projektu pro různé jazyky.

Odpovědět
17. března 19:25
Ke každé nepřekonatelné zdi se dá naprogramovat žebřík.
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 12.