Objekty – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Objekty – Python – Fórum – Programujte.comObjekty – Python – Fórum – Programujte.com

 

allicce
~ Anonymní uživatel
14 příspěvků
8. 12. 2016   #1
-
0
-

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 

http://pastebin.com/QpUcGRCd

Nahlásit jako SPAM
IP: 86.49.74.–
peter
~ Anonymní uživatel
4014 příspěvků
8. 12. 2016   #2
-
0
-

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.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:6160:2e...–
allicce
~ Anonymní uživatel
14 příspěvků
8. 12. 2016   #3
-
0
-

#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_ ?

Nahlásit jako SPAM
IP: 86.49.74.–
gna
~ Anonymní uživatel
1891 příspěvků
8. 12. 2016   #4
-
+1
-
Zajímavé
Kit +

#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()
Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1891 příspěvků
8. 12. 2016   #5
-
+1
-
Zajímavé

#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.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Podobná vlákna

Objekty — založil zmetek

Objekty — založil Miro1701

Objekty — založil Onsi

Serializované objekty — založil Marek Kadlčík

Indexované objekty — založil Wabbit

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý