Уведомления

Группа в Telegram: @pythonsu

#1 Июль 3, 2021 22:11:48

IgorDubkov
Зарегистрирован: 2021-07-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

Помогите, пожалуйста, получить вместо списка:
__main__.Igrok object at 0x0000000002A8F160>, <__main__.Igrok object at 0x0000000002A8F190

список с переменными-объектами класса: igr, igr1

Не соображу никак…

 class Bitva:
    """ ____ """
    def __init__(self):
        self.spis = []
    def spisok_igrok(self, name):
        self.spis.append(name)
            
class Igrok:
    """ ____ """
    def __init__(self):
        bit.spisok_igrok(self)
    def __str__(self):
        pass
#_____________main_____________
bit = Bitva()
igr = Igrok()
igr1 = Igrok()
print(bit.spis)

Отредактировано IgorDubkov (Июль 3, 2021 22:12:43)

Офлайн

#2 Июль 3, 2021 22:54:36

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1394
Репутация: +  124  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

IgorDubkov
список с переменными-объектами класса: igr, igr1
класс у вас Igrok, а igr igr1 это экземпляры этого класса,
__main__.Igrok object at 0x0000000002A8F160>, <__main__.Igrok object at 0x0000000002A8F190,это ссылки на них в памяти, что нужно вам приведите пример

Отредактировано xam1816 (Июль 3, 2021 22:59:44)

Офлайн

#3 Июль 3, 2021 23:09:15

IgorDubkov
Зарегистрирован: 2021-07-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

Спасибо!
Мне нужен список, содержащий igr, igr1 (как это правильно назвать? переменные экземпляров?..)

Как реализовать следующую логику?

Инстанцируется экземпляр класса Bitva.
—–
Инстанцируются несколько экземпляров класса Igrok,
создавая список себя в экз класса Bitva.
—–
Запускается метод экземпляра класса Bitva,
выбирающий случайный экз класса Igrok.
—–
Управление переходит в экз класса Igrok.

Отредактировано IgorDubkov (Июль 4, 2021 00:15:48)

Офлайн

#4 Июль 4, 2021 00:16:06

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1394
Репутация: +  124  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

 class Bitva:
	""" ____ """
	def __init__(self):
		self.spis = []
	def spisok_igrok(self, name):
		self.spis.append(name)
class Igrok:
	""" ____ """
	def __init__(self, name_variablie):
		bit.spisok_igrok(name_variablie)
	def __str__(self):
		pass
# _____________main_____________
bit = Bitva()
igr = Igrok('igr')
igr1 = Igrok('igr1')
print(bit.spis)

Офлайн

#5 Июль 4, 2021 00:30:55

IgorDubkov
Зарегистрирован: 2021-07-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

Спасибо!

Думаю в Python нет смысла делать, что я хотел, так как может быть несколько переменных, указывающих на один и тот же экземпляр.

С Вашей подсказкой пробую реализовать логику:
Инстанцируется экземпляр класса Bitva.
—–
Инстанцируются несколько экземпляров класса Igrok,
создавая список себя в экз класса Bitva.
—–
Запускается метод экземпляра класса Bitva,
выбирающий случайный экз класса Igrok.
—–
Управление переходит в экз класса Igrok.

Офлайн

#6 Июль 4, 2021 17:19:30

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

IgorDubkov
так как может быть несколько переменных, указывающих на один и тот же экземпляр
зачем? зачем создавать переменные указывающие на один и тот же экземпляр???

Офлайн

#7 Июль 4, 2021 18:54:31

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

ерунда каката
хотя

 class Players:
    def __init__(self, quantity=0, piece=None):
        self.players = {}
        for i in range(quantity):
            self.players.update({i: piece})
            
    def get_player(self, num):
        return self.players[num]
        
test = Players(quantity=5, piece="obj")
print(test.get_player(2))



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#8 Июль 5, 2021 14:54:35

IgorDubkov
Зарегистрирован: 2021-07-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

marvellik
зачем? зачем создавать переменные указывающие на один и тот же экземпляр???
Я искал атрибуты, связанные с именем объекта класса. Не нашел. В теориях объяснили, что такого инструмента не может быть, так как см. про переменные.

Офлайн

#9 Июль 5, 2021 18:11:52

Ocean
Зарегистрирован: 2021-03-14
Сообщения: 131
Репутация: +  9  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

IgorDubkov
Если забыть про классы и атрибуты. Что ты хочешь сделать?
Можешь описать словами логику?
Для примера:
“Создаем битву. В битве могут участвовать не менее 2 и не более 6 игроков. Число игроков в битве всегда должно быть четным. Генерируем 10 игроков с характеристиками: имя, уровень, класс, пол, раса и тому подобное.
Из 10 игроков случайным образом выбираем 4, которые будут участвовать в текущей битве. Список игроков участников битвы сохраняем и так далее”

Офлайн

#10 Июль 5, 2021 22:02:21

IgorDubkov
Зарегистрирован: 2021-07-03
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Список объектов класса. Нужно другое содержимое.

Ocean
IgorDubkov
Если забыть про классы и атрибуты. Что ты хочешь сделать?
Можешь описать словами логику?
Для примера:
“Создаем битву. В битве могут участвовать не менее 2 и не более 6 игроков. Число игроков в битве всегда должно быть четным. Генерируем 10 игроков с характеристиками: имя, уровень, класс, пол, раса и тому подобное.
Из 10 игроков случайным образом выбираем 4, которые будут участвовать в текущей битве. Список игроков участников битвы сохраняем и так далее”

Сыну 12 лет. Учебный 2020 - 2021 год провел онлайн с ГАОУ ДПО «ТемоЦентр». Закончили словарями (Dict). За год(!) дошли до словарей. Он читает Майкла Доусона. Сам. Функции осилил. Не разобрался с классами. Просит практического обоснования применения классов. Я вспомнил Бойцовский Клуб. Создаем битву.

Игра примитивная консольная на одной машине.
В проекте классы Игрок, Комп(Игрок), Битва, Игра.
В перспективе классы Меч, Щит.
Псевдокод пока в движении.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version