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 9 - Bojovník do arény 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
Jakub Ježek
Člen
Avatar
Odpovídá na Karel Zaoral
Jakub Ježek:14.12.2023 20:08

Protože jsem to v tom prostě neviděl :-) Díky

 
Odpovědět
14.12.2023 20:08
Avatar
Jakub Ježek
Člen
Avatar
Odpovídá na Karel Zaoral
Jakub Ježek:16.12.2023 18:53

Fakt by mě zajímalo do jaké lekce 4 koukáš, protože já, když si stáhnu kód z lekce 4 tak tam mám toto:

class Kostka:
    """
    Třída reprezentuje hrací kostku.
    """

    def __init__(self, pocet_sten=6):
        self._pocet_sten = pocet_sten

    def __str__(self):
        """
        Vrací textovou reprezentaci kostky.
        """
        return str("Kostka s {0} stěnami".format(self._pocet_sten))

    def vrat_pocet_sten(self):
        return self._pocet_sten

    def hod(self):
        """
        Vykoná hod kostkou a vrátí číslo od 1 do
        počtu stěn.
        """
        import random as _random
        return _random.randint(1, self._pocet_sten)


# vytvoření
sestistenna = Kostka()
desetistenna = Kostka(10)

# hod šestistěnnou
print(sestistenna)
for _ in range(10):
    print(sestistenna.hod(), end=" ")

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

input()

Což mi přijde tedy značně jiné, než co sem postuješ. Obávám se tedy, že každý koukáme do nějaké jiné lekce 4.

Editováno 16.12.2023 18:55
 
Odpovědět
16.12.2023 18:53
Avatar
Karel Zaoral
Člen
Avatar
Odpovídá na Jakub Ježek
Karel Zaoral:17.12.2023 10:13

Ahoj, no, já se pro změnu obávám, že se mýlíš. Ty kódy třídy jsou stejné ;-)

 
Odpovědět
17.12.2023 10:13
Avatar
Jakub Ježek
Člen
Avatar
Jakub Ježek:17.12.2023 10:25

Očividně máme jinou představu o slově "stejné". Podle mě, když je něco "stejné", tak se to neliší. V ničem. To by totiž začátečníkům docela pomohlo. Ale, ok. Tak já pominu to, že je to zpřeházené a že je ta tam jinak ten f string a jen zopakuju, to co jsem říkal hned na začátku:
" on je to kromě toho fstringu i všechen ten kód, kde je vytvoření kostek a hod kostkami, ale čert to vem. Předpokládám, že to máme z toho smazat, a ten fstring si tam dopsat..." Zkus prosím Karle pochopit, že ty na to koukneš a vidíš. Já na to koukám a každý řádek, který se liší, je pro mě překážkou. A když je to takhle ve skoro každé lekci, tak je to fakt na houby...

Editováno 17.12.2023 10:25
 
Odpovědět
17.12.2023 10:25
Avatar
Karel Zaoral
Člen
Avatar
Odpovídá na Jakub Ježek
Karel Zaoral:17.12.2023 11:32

Ahoj, kód třídy je kód třídy a s kódem pro vytvoření a použití instance nemá nic společného. Nevím, co víc k tomu říct. Svůj post jsem kopíroval přímo z lekce z poslední ukázky, ve které se třída dokončila. Ten f-string upravím, díky.

 
Odpovědět
17.12.2023 11:32
Avatar
Jakub Ježek
Člen
Avatar
Odpovídá na Karel Zaoral
Jakub Ježek:17.12.2023 12:34

Nemusíš asi říkat nic, myslím že je zřejmé, za já hovořím o celém kodu a ty jen o kodu třídy. Což jsem ovšem říkal hned na začátku.

 
Odpovědět
17.12.2023 12:34
Avatar
Dušan Kovářík:14.1.2024 17:04

Chtěl jsem se podívat, jak se v Pythonu komentuje kód - hlavně jak se píší docstringy. Na začátku článku je uvedeno, že okomentovaný kód najdu v archivu, ale tam žádné komentáře nevidím.

 
Odpovědět
14.1.2024 17:04
Avatar
Dušan Kovářík:14.1.2024 22:20

Myslím že podmínka v metodě braň se:

if self._zivot < 0:
    self._zivot = 0
    zprava = f"{zprava[:-1]} a zemřel."

by měla být následující (menší než nebo rovno nule):

if self._zivot <= 0:
    self._zivot = 0
    zprava = f"{zprava[:-1]} a zemřel."

protože jinak když se stane, že útočník soupeře zabije tím způsobem, kdy mu život sebere přesně na nulu, hra sice korektně skončí, ale nevypíše se, že soupeř zemřel. Přijde mi dost divný být zabit a nezemřít při tom :D

Editováno 14.1.2024 22:21
 
Odpovědět
14.1.2024 22:20
Avatar
Radek Schlosser:26.2.2024 0:49

V následující větě máte 2× za sebou "že":

"Všimněme si, že že maximální zdraví si v konstruktoru odvodíme a
nemáme na něj parametr v hlavičce.
Zdroj: https://www.itnetwork.cz/…nik-do-areny"

 
Odpovědět
26.2.2024 0:49
Avatar
Karel Zaoral
Člen
Avatar
Odpovídá na Radek Schlosser
Karel Zaoral:29.2.2024 9:16

Opraveno, díky Radku!

 
Odpovědět
29.2.2024 9:16
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 69.