0
Help
Please explain this code for a beginner: def look_say(a): n = '1' print (n) for i in range(a): add = '' j = 0 while j < len(n): skip = 1 while (j + skip) < len(n) and n[j] == n[j+skip]: skip += 1 add += str(skip) + str(n[j]) j += skip n = add print (n) look_say(6)
10 Answers
+ 9
Что именно тебе не понятно?
+ 9
Эта строка сравнивает j-ое значение n со значением элемента (j+skip). при первом проходе программы они равны, но условие выполнения цикла while все равно не выполняется потому что не выполняется второе условие
+ 9
add это просто переменная, такая же как j или n
+ 8
'' это пустая строка, т. е. мы присваиваем add пустую строку. В дальнейшем мы её складывает с другими строками. Зачем это нужно? Вопрос к автору кода. Во многих примерах на Sololearn часто встречаются строки предназначенные лишь для того чтобы заставить пользователя думать и зачастую отвлекающие внимание. (p. s. В этом коде не путают, но мозг напрячь заставляют
0
запутался, много переменных и циклов, не могу связать
0
n[j] == n[j+skip]:
и вот эту строку не понял пока до конца
0
еще два момента:
0
зачем: add = ‘’ что это?
0
и while j < len(n)
len это размер списка, какой здесь список с n?
0
а зачем нужна в данном коде add и зачем ей присваевается ‘’?