Вопрос по python - Общение Python мододелов

Вопрос Вопрос по python

Регистрация
30 Окт 2013
Сообщения
87
Репутация
0
Спасибо
1
Монет
0
296582959_72e49a4f4ff72e95b0730b811daac731_800.jpg

Что делает строчка:

Word = ''.join(w)
 
Регистрация
14 Авг 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
Где ты такой говнокод откопал?

Задача решается за 2 минуты БЕЗ программирования:

Всего комбинаций: 5⁵
Комбинаций без буквы 'с': 4⁵
Ответ: 5⁵ - 4⁵ = 3125 - 1024 = 2101

И даже если это перебором делать: import itertools
cnt = 0
for w in itertools.product('света', repeat=5):
cnt += 'с' in w
print(cnt)
 
Регистрация
9 Дек 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
product создает список кортежей из тех символов и длины, что ты передал.
То есть words хранит в себе [('c', 'c', 'c', 'c', 'c'), ('c', 'c', 'c', 'c', в') и тд] хранит все комбинации из этих букв размером 5 символов,
а когда ты проходишься в цикле по этому списку, ты переменной w присваиваешь сначала кортеж с нулевым индексом, в следующей итерации цикла w равняется кортежу с 1м индексом и так далее, пока по все кортежи не охватишь. Потом ты соединяешь кортеж в строку, то есть из ('с', 'c', 'c', 'c', 'c') строка w = ''.join(w) создает строку 'ccccc', хоть в этой задаче это вовсе не обязательно. Надеюсь, что помог.
 
Сверху Снизу