我是一名编程新手,我遇到了一个Python 'for'循环的实现例子,但不太理解其背后的逻辑:
s="abcdefg"
t=""
for a in s:
t=a+t
我对为什么这段代码返回“gfedcba.”感到困惑。 它跟以下的代码有什么不同呢:
s="abcdefg"
t=""
for a in s:
t=t+a
...该函数返回“abcdefg”。
我是一名编程新手,我遇到了一个Python 'for'循环的实现例子,但不太理解其背后的逻辑:
s="abcdefg"
t=""
for a in s:
t=a+t
我对为什么这段代码返回“gfedcba.”感到困惑。 它跟以下的代码有什么不同呢:
s="abcdefg"
t=""
for a in s:
t=t+a
...该函数返回“abcdefg”。
按照以下逻辑进行操作:
s="abcdefg"
t=""
这些是起始变量,现在让我们"展开"for循环。请记住,"a"代表每个字符"s",从第一个到最后一个:
t = a + t
所以 t = "a"
t = a + t
因此 t = "ba"
t = a + t
所以 t = "cba"
字符串拼接不像加法。顺序很重要!
for
循环相同。区别在于你对t
的处理方式。第一段代码在每次迭代中在字符串t
前面添加字符a
,从而反转原始字符串s
。第二段代码在每次迭代中在字符串t
末尾添加字符a
,从而重新创建原始字符串s
。