def reverse(x):
output = ""
for c in x:
output = c + output
return output
print(reverse("Hello"))
此代码可以很好地在Python中反转字符串,我似乎无法理解为什么它起作用以及如何起作用。
例如,如果我迭代一个字符串,通常它将迭代并从“ H”开始打印,然后一直向下到“ O”。这是怎么回事?
答案 0 :(得分:2)
如果在循环中添加一些输出,则可以看到代码如何填充字符串。
def reverse(x):
output = ""
for c in x:
output = c + output
print(output)
return output
print(reverse("Hello"))
所以您可以看到它是如何工作的:
H
eH
leH
lleH
olleH
olleH
因此,您将最后一个广告放到最后,这就是您将其倒转的方式。如果您在循环中切换以下行:
output = output + c
然后顺序不倒转:
H
He
Hel
Hell
Hello
Hello
答案 1 :(得分:1)
此循环遍历字符串的字符,并为每个字符加上它到当前结果。
当我们遍历字符(output
值)时,让我们跟踪c
的值:
c output
H H
e eH
l leH
l lleH
o olleH
答案 2 :(得分:0)
每当一个字符进入循环时,它将被附加到输出中。 最初输出=“”
因此对于迭代1:输出=“”
c = "H"
output = "H" + "" = "H"
迭代2:输出=“ H”
c = "e"
output = "e" + "H" = "eH"
迭代3:输出=“ eH”
c = "l"
output = "l" + "eH" = "leH"
迭代4:输出=“ leH”
c = "l"
output = "l" + "leH" = "lleH"
迭代5:输出=“ lleH”
c = "o"
output = "o" + "lleH" = "olleH"
所以最终结果是“ olleH”