Image

Image_winnie wrote in Imageru_python

Функция внутри цикла, время жизни и области видимости

Печает много раз "9!"

А хотелось бы что бы печатало 0!, 1!, ... 9!
Почему? Как?
Вроде же я приложил все усилия, что бы j был новым объектом в каждой итерации цикла, уникальным для каждой из функций task. Ан нет.


task_list = []

for i in range(10):
	j = str(i) + '!'
	def task():
		print j	
	i = i + 1 #опечатка, к вопросу не имеет отношения
	task_list.insert(-1, task)


for t in task_list:
		t()



updated: Спасибо!