Ahojte,
potrebujem pomôcť, nejde mi korektne spustiť príkaz Attack.attack_real(attacker,defender) buď mi to vyhadzuje že nepozná self.difficulty alebo že mi chýba v danej funkcií parameter.
Viete mi poradiť ako to opravím?
Ďakujem
Ahojte,
potrebujem pomôcť, nejde mi korektne spustiť príkaz Attack.attack_real(attacker,defender) buď mi to vyhadzuje že nepozná self.difficulty alebo že mi chýba v danej funkcií parameter.
Viete mi poradiť ako to opravím?
Ďakujem
https://repl.it/languages/python3
kdyz to dam sem, kliknu run, tak to vypise none.
A nelevo pise furu chyb, jako treba, ze tam
7 u run neni self,
8 neexistujici weapon
11 nejaky problem s defenderem (nemel by se prvni argument predavat self?)
30 nepouzita promenna defender
Az to bude spustitelne demo, tak to napise asi vic chyb.
#2 peter
ono to je len časť kódu mňa zaujíma že prečo mi nejde self.difficulty keby som teda mala Attack.attack_real(weapon,attacker,defender) teda predávam to do toho self tu weapon a v init mám rozdelenu tu weapon a jedna časť je self.difficulty tak prečo mi píše že také nič neexistuje? Alebo dá sa urobiť že Attack.attack_real(attacker,defender) predám len tieto dva parametre a ten self si zoberie z Attack._init_ ?
#3 allicce
Máš v tom zmatek. Ve třídě jsou funkce a můžeš je volat přes jméno třídy:
class Moje:
def rekni(co):
print(co)
Moje.rekni("Nazdar")
======
Nazdar
Když vytvoříš objekt z té třídy, tak můžeš ty funkce volat přes jméno toho objektu a pak ta funkce automaticky jako první parametr dostává ten objekt -- typicky pojmenovaný self:
class Clovek:
def __init__(self, jmeno):
self.jmeno = jmeno
def pozdrav(self):
print("Ahoj, ja jsem", self.jmeno)
t = Clovek("Tomas")
a = Clovek("Alenka")
t.pozdrav()
a.pozdrav()
======
Ahoj, ja jsem Tomas
Ahoj, ja jsem Alenka
Taky by šlo toto, ale tím se nezabývej:
t = Clovek("Tomas")
Clovek.pozdrav(t) # to je to same jako t.pozdrav()
#3 allicce
Takže to tvoje Attack.attack_real(attacker,defender) ten self nemá a asi přijdeš na to, co s tím
A jinak je celý ten run divný. Buď nemá smysl Match vytvářet s attackerem a defenderem, nebo nemá smysl je dávat jako parametry pro run.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku