下面代码中的函数是如何调用来反转字符串的?

How does the function call to reverse the string in the code below?

def reverse(s): 
  str = "" 
  for i in s: 
    str = i + str
  return str
  
s = "Geeksforgeeks"
  
print ("The original string  is : ",end="") 
print (s) 
  
print ("The reversed string(using loops) is : ",end="") 
print (reverse(s))

我以自己的方式尝试了代码,以了解上述方法如何以我自己的方式反转在s中输入的字符串

我会post我试图知道我的理解哪里出了问题

s='preetham'
for i in s:
    str=''
    s=i+str
    print(s)

我试过上面的代码只是为了理解 istr 在帮助代码反转字符串中扮演什么角色, 正如我根据我的理解所预测的那样,上面的代码应该打印以下输出

p
r
e
e
t
h
a
m
*

对于输出 p r e e t h a m 你应该使用 :

s='preetham'
str = ''
for i in s:
    str=str + i + ' '
print(str)

那么,这是做什么的?

第一行我们将 preetham 存储在变量 s.

其次我们用''[一个空字符串]初始化一个变量str来存储新的字符串

第三,我们开始一个for循环。
这里的 for 循环是做什么的? 变量 i 逐个提取字符串的每个字符[或者你可以在这里调用字母],并且每次都在循环中执行每个 i 值的代码。

循环内部:
我们将每个字符[存储在 i] 中附加到 str 以及 space [' '].

循环外的最后一行我们打印 str 的值,现在是 p r e e t h a m

那么当我们 运行 程序时会发生什么?

首先 i = 'p' & str = '' str = '' + 'p' + ' ' [ = 'p ']

然后 i = 'r' & str = 'p ' str = 'p ' + 'r' + ' ' [= 'p r ']

...

最后 i = 'm', & str = 'p r e e t h a ' str = 'p r e e t h a ' + 'm' + ' ' [ = 'p r e e t h a m ']

最后在 print 中我们打印 str: p r e t h a m

所以。

p
r
e
e
t
h
a
m

如果只使用 '\n' 而不是 ' '

将被打印

现在你也可以通过这个解释理解其他2个代码了。