【问题标题】:What does my_str=i +my_str do here in python? [closed]my_str=i +my_str 在 python 中做了什么? [关闭]
【发布时间】:2021-06-25 10:15:05
【问题描述】:

下面是使用循环反转字符串的代码。 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))

【问题讨论】:

  • 将下一个与上一个连接起来。
  • @KarlKnechtel 我仍然不明白这个赋值运算符 my_str=i+my_str 是如何工作的。我知道它是一个 += 运算符,但是当把它放到代码中时我会感到困惑
  • @DavidMeu 哪一个是下一个,哪一个是前一个?
  • 它不是+= 运算符。这是一个+ 运算符。你计算i + my_str,然后你说my_str 应该成为那个结果。为什么会让人困惑?
  • @Maibaozi 学习如何使用调试器,然后逐步检查您的变量,您将看到在循环的每次迭代期间会发生什么。如果字符串连接让你感到困惑,你应该回去阅读教程,这太低级了,无法在 StackOverflow 上解释。

标签: python operators assignment-operator


【解决方案1】:

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

关于你的问题:

第一个循环也就是你的字符串的第一个字母 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

【讨论】:

  • 谢谢!!这太有帮助了!! @Jerome Verdoni
猜你喜欢
  • 2015-01-12
  • 2020-05-23
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多