Надеюсь, вы, ребята, можете мне помочь здесь. Я дал эту ошибку с помощью следующего кода:ОШИБКА: unbound метод «имя метода» должен быть вызван с экземпляром «Имя класса» в качестве первого аргумента (вместо этого был получен экземпляр classobj)
Traceback (most recent call last):
File "C:\Python27\Lib\idlelib\Tarea5.py", line 60, in <module>
bg.addBandit(b)
TypeError: unbound method addBandit() must be called with BanditGroup instance as first argument (got classobj instance instead)
Код:
from numpy import *
from matplotlib import pyplot as p
class Bandit:
power = random.uniform(15,46)
life = random.uniform(40,81)
def __init__(self, power, life):
self.power = power
self.life = life
class BanditGroup:
def __init__(self,a):
self.group = [a] #Where 'a' is an object of the class Bandit
def addBandit(self,b):
self.group.append(b) #Where 'b' is an object of the class Bandit
return self.group
howmanygroups = random.randint(4,11)
i = 0
j = 0
while i <= howmanygroups:
bg = BanditGroup
howmanybandits = random.randint(1,11)
while j <= howmanybandits:
b = Bandit
bg.addBandit(b) #<-- line 60
j+=1
bgposx = random.uniform(0,50000)
bgposy = random.uniform(0,50000)
p.plot(bgposx,bgposy,'r^')
i+=1
Я бы очень признателен, если кто-то может сказать мне, что здесь происходит. Я начал изучать python 2.7 около 2 месяцев назад. Спасибо!
Вы на самом деле не делать никаких бандитов или группу бандитов, чтобы поместить их в '' Bandit' и BanditGroup' классы;. то, что ваш код пытается сделать прямо сейчас, аналогичен попытке сидеть на абстрактной концепции стула, вместо того, чтобы идти в IKEA и получать конкретный стул, чтобы сидеть. – user2357112