首页 > 解决方案 > my_str=i +my_str 在 python 中做了什么?

问题描述

下面是使用循环反转字符串的代码。在这里做什么 my_str=i+my_str

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

标签: pythonoperatorsassignment-operator

解决方案


请使用代码块帮助进行格式化。您可以在编写问题/答案时点击工具栏上的 {}。

关于你的问题:

第一个循环又名字符串的第一个字母 i = T

my_str = ""         # it's empty
my_str = i + my_str # we combine T with an empty string
print(my_str)       # T

第二个循环 i = h

my_str = "T"         # my_str is still T from first loop
my_str = i + my_str  # we combine h with the T string
print(my_str)        # hT

第三个循环 i = i

my_str = "hT"         # my_str is still hT from second loop
my_str = i + my_str   # we combine i with the hT string
print(my_str)         # ihT

第四循环 i = s

my_str = "ihT"         # my_str is still ihT from third loop
my_str = i + my_str    # we combine s with the ihT string
print(my_str)          # sihT

这是您的格式化代码,我在每个循环中添加了一个打印以帮助理解:

def reverse(s):
    print()
    my_str = ""
    for i in s:
        my_str = i + my_str
        print(my_str)
    return my_str


s = "Thisismyquestion"

print("The original string is : ", end="")
print(s)

print("The reversed string(using loops) is : ", end="")
print(reverse(s))

输出 :

The original string is : Thisismyquestion
The reversed string(using loops) is : 
T
hT
ihT
sihT
isihT
sisihT
msisihT
ymsisihT
qymsisihT
uqymsisihT
euqymsisihT
seuqymsisihT
tseuqymsisihT
itseuqymsisihT
oitseuqymsisihT
noitseuqymsisihT
noitseuqymsisihT

推荐阅读