带位置的 For 循环

For-Loop with positions

大家好,谁能解释一下为什么我的代码打印反了?

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

结果如下: W

iW

李维

lliW

illiW

艾丽维

mailliW

我不明白为什么这个程序会向后打印。谁能解释一下这个 'for' 程序是如何运作的?

您每次都将 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)