#python #loops
Вопрос:
Я новичок в python и просто пытаюсь понять это упражнение:
i=0
while i<len(seq) :
j=0
while(j<i) :
print(seq[j:i])
j = j 1
i = i 1
Я запустил код, но у меня возникли некоторые проблемы с пониманием того, что на самом деле делает этот фрагмент кода
Я понимаю, что это некоторые базовые вещи, но я просто пытаюсь использовать подход «учиться на практике», и это меня зацепило
Заранее спасибо
Комментарии:
1. Можете ли вы сказать, что это
seq
2. С какой частью у вас возникли трудности?
3. Это упражнение посвящено нарезке.
4. Знаете ли вы, что делает цикл while, как работают срезы/индексы и как работает назначение переменных? Когда вы это сделаете, вы, вероятно, сможете узнать, что он делает, просматривая код строка за строкой и сохраняя состояние программы в своей голове.
Ответ №1:
Код генерирует все возможные подпоследовательности seq. Первая инструкция while выбирает конечный индекс подпоследовательности, а вторая-начальный индекс. Начальный индекс должен быть ниже второго индекса.
Ответ №2:
Я постараюсь сделать все возможное, чтобы объяснить это. Я предположил seq
, что это какая-то ценность. Строка: while i<len(seq) :
скажите python, чтобы он выполнял цикл до i
тех пор, пока не будет больше или равно len(seq)
количеству символов в строке.
Процесс —
Внутри него:
j
присваивается 0while (j<i):
, означает, что цикл доj
тех пор, пока не будет больше, чемi
.print(seq[j:i])
является нарезкой и индексированием:print(seq[j:i])
печатает символы, начиная с индексаj
до индексаi-1
.j=j 1
означает, что j переназначено его исходное значение плюс 1.
Это будет продолжаться до тех пор, пока j<i
. Затем он вырывается из внутреннего цикла. Затем i
переназначается его исходное значение 1: i=i 1
и снова процесс будет продолжаться до i
тех пор, пока не станет не менее len(seq)
seq="Hello"
i=0
while i<len(seq) :
j=0
while(j<i) :
print(seq[j:i])
j = j 1
i = i 1
Ответ №3:
i = 0
Я уверен, что вы понимаете эту часть, но это просто определение меня для следующего цикла while.
while i<len(seq):
В этой части кода говорится, что до тех пор, пока я Список Seq также может быть строкой, в этом случае каждый символ будет иметь свое собственное место в списке.
j = 0
Определение j для следующего цикла while.
while j < i:
Этот цикл будет выполняться до тех пор, пока j меньше i.
print(seq[j:i])
Печатает все в списке «seq», начиная с индекса j до индекса i.
j = j 1
i = i 1
Добавление 1 к обоим целым числам. Многие программисты на python также любят использовать j = 1
/ i = 1
для этого.