Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 5, 2011 00:08:36

zxvenom
От:
Зарегистрирован: 2011-02-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Посмотрите, что тут не так?

all = [[0,0,0,0,0]]
one = [0,0,0,0,0]
i=0

def incr(one):
global i
if (i >=5):
return
one[i]+=1
if (one[i]>=36):
one[i]=0
i+=1
incr(one)
i-=1

lol = 1
while (lol<6):
incr(one)
print (one)
all.append(one)
lol+=1
в последнем цикле print печатает то, что мне надо:







а в all попадает уже другое:

[, , , , , ]

wtf?



Офлайн

#2 Фев. 5, 2011 00:24:14

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Посмотрите, что тут не так?

Ну, во-первых, поставьте all =.
Во-вторых, добавляйте в all копии:
all.append( copy( one) ) а не ссылки на изменяющийся объект.
Ну и в-третьих, не забудьте подключить библиотеку copy:
from copy import copy



Офлайн

#3 Фев. 5, 2011 00:34:45

zxvenom
От:
Зарегистрирован: 2011-02-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Посмотрите, что тут не так?

Теперь всё работает, спасибо!



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version