Для цикла с позициями

#function #for-loop #position #range

#функция #для цикла #позиция #диапазон

Вопрос:

Привет, ребята, может кто-нибудь, пожалуйста, объяснить, почему мой код печатается в обратном направлении?

 s='william'
r=''
for p in range(0,len(s)):
    r=s[p] r
    print r
  

Результат выглядит так:
W

iW

liW

lliW

illiW

ailliW

mailliW

Я не понимаю, почему эта программа печатает это в обратном направлении. Кто-нибудь может объяснить, как работает эта программа «для»?

Комментарии:

1. Попробуйте использовать r=r s[p]

Ответ №1:

Вы каждый раз добавляете r в конец строки.

В первый раз: r = w «

Во второй раз: r = i w (в данном случае w равно r с первой итерации)

В третий раз: r = i iw (r теперь равен iw со второй итерации)

Редактировать:

Это выведет william

 s='william'
r=''
for p in range(0,len(s)):
    r= r   s[p]
    print(r)
  

Комментарии:

1. Понял, спасибо!