Уведомления

Группа в Telegram: @pythonsu

#1 Июль 8, 2015 12:01:32

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Программные объекты. ООП.

ferma.append(i)

Дословно: в конец списка ferma добавить элемент i
то есть, если у тебя был список
["d", 1, "8888"]
и ты туда добавил
i = "ssss"
ferma.append(i)
то мы получи мы список
["d", 1, "8888",  "ssss"]

а вот тут ты пытаешься обратиться к элементу по индексу i
ferma[i] = ....
Это как так? i - объект, который ты добавлял к списку, и он же индекс этого объекта в списке?
Бред.



Офлайн

#2 Июль 10, 2015 18:09:32

psyh
От: Красноярск
Зарегистрирован: 2015-07-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Программные объекты. ООП.

Список у меня все-таки такой

[0,1,2,3,...]
Мне кажется логично что я обращаюсь по индексу. Я в этом цикле создаю список, элементы которого являются экземплярами класса.
Что не так? Я правда хочу понять. Можешь дать свою версию?

Отредактировано psyh (Июль 10, 2015 18:09:52)

Офлайн

#3 Июль 10, 2015 23:26:01

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Программные объекты. ООП.

Вы создаёте список, элементы которого являются целыми. Затем вы этот список затираете зверушками.

ferma.append(i)
		ferma[i] = Critter(crit_name)
ferma.append(Critter(crit_name))

Офлайн

#4 Июль 11, 2015 10:15:56

psyh
От: Красноярск
Зарегистрирован: 2015-07-07
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Программные объекты. ООП.

Спасибо за пояснение.
Правильно будет сделать вот так?

	for i in range(quantity):
		crit_name = input("Как вы назовете свою зверюшку?\t")
		ferma.append(Critter(crit_name))
	return quantity, ferma

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version