, поэтому я пытаюсь создать программу, но у меня все еще возникают трудности с классами. Программа (которая не закончена, конечно) напечатает случайное число Деревн. Каждая деревня (второй класс) будет иметь случайное число кланов (первый класс). Во всяком случае, моя проблема - это класс деревни. Как я могу добавить области и размер семьи в класс Village? Как вставить счетчик из класса клана в класс Village? Как вы можете видеть, когда я рандомизировал несколько Кланов, области и размеры семьи должны были бы сгруппировать в класс Village. Что мне делать? Что не так с моим деревенским классом?Классы, объекты и списки в python
class Clan:
counter = 0
def __init__(self):
r = random.randrange(20, 101)
self.area = r
s = random.randrange(1, 6)
self.familySize = s
Clan.counter += 1
self.counter = Clan.counter
def getArea(self):
return self.area
def getFamilySize(self):
return self.familySize
class Village:
counter = 0
def __init__(self):
self.clan_list = []
for i in range(random.randrange(3, 7)):
self.clan_list += [Clan()]
def getclan_list(self):
return self.clan_list
def getArea(self):
return self.area
def getPopulation(self):
pass
Здравствуйте, я не знаю, что вы пытаетесь сделать здесь Clan.counter + = 1 self.counter = Clan.counter Clan.counter всегда будет 0, если вы хотите изменить экземпляр, должны использовать себя. – lapinkoira
Что значит вставить счетчик кланов в деревню? Я не следую твоей мысли. Остальное, что я получаю, просто не клановый счетчик, вставленный в деревню. – Dunes
@lapinkoira: 'Clan.counter' - атрибут класса; это не всегда будет 0. Испытайте класс «Клана» для себя и посмотрите, что произойдет. –