a = [1,2,3]
b = a
Здесь создается один объект и две ссылки на него и например если вы скажите b.append(4)
то у вас и в b и в a будет [1,2,3,4]. Потому что объект у вас один [1,2,3] a и b это ссылки на этот объект.a = [1,2,3]
b = list(a)
или
b = a.copy()
в обоих случаях , будет создано два объекта и a и b это указатели на разные объекты.
В случаях когда изменяется вложенный список то нужно использовать deepcopy.
например
a = [1,[1,2]]
b = copy(a))
a[1].append(4)
Все прплыли вложенный лист изменится и в a и в b. D В таком случае нужно использовать только deepcopy. В ответе на вопрос я deepcopy не использовал потому что в контесксте проблемы это необязательно, a1.append(list(a))
И все равно получите то что вы хотели. Случай где deepcopy обязателен я вам привел пойграйтесь с приведенными примерами и начнете понимать лучше. raw_code_hash
А нужно записывать raw_code_hash.hexdigest()
на нем не нужно вызывать не str не repr он и так возвращает строку. В чем проблема то?with open('myfile.txt','a') as f:
f.write(raw_code_hash.hexdigest())
В чем собственно вопрос то.
Но вот по поводу остального что то до меня так и не доходит. (Но это уже мои проблемы буду разбираться). Вы уже достаточно объяснили.
Для n=4 и m=3, мы имеем 6 удовлетворяющих условию последовательностей (1,1,1,1),(1,1,1,0),(1,0,0,0) ну и 3 если начнем с 0. итого 6. Ну и соответственно 10 плохих.
Используя фабиначчи я то получил такие цифры (правильно будет сказать подогнал). Но совсем пока не понял и не думаю что я делаю правильно. Ну да ладно спасибо буду разбираться что я упускаю.