【问题标题】:Basic Python Code: Turning a phrase into corresponding acronym [duplicate]基本 Python 代码:将短语转换为相应的首字母缩写词 [重复]
【发布时间】:2020-12-21 17:17:01
【问题描述】:

这是我的第一篇文章,如果有人可以向我解释为什么我们需要以下 Python 代码中的 result = "" 部分,我会很高兴。

这是一段基本的代码,可以将诸如 World Wide Web 之类的短语转换为 WWW。

def initials(phrase):
    words = phrase.split()
    result = ""
    for word in words:
        result += word[0].upper()
    return result

【问题讨论】:

标签: python


【解决方案1】:

它充当字符串的临时容器。 这是一个没有结果变量的版本。

def initials(phrase):
    words = phrase.split()
    return "".join([word[0].upper() for word in words])

【讨论】:

  • 请使用代码围栏 (```) 标记您的源代码,以便其格式正确。否则,它将全部出现在一条长线上。另一位用户为您解决了这个问题。
【解决方案2】:

result += word[0].upper() 中的+= 表示您正在尝试将字符添加到现有字符串中,如果该现有字符串未预定义,则会引发错误。

也可以这样写:

result = result + word[0].upper()

也很好奇,尝试运行代码并注释掉该部分。当您亲自体验时,效果会更好。

【讨论】:

    【解决方案3】:

    result 需要初始化,因为您在循环的每次迭代中都添加了一些内容。考虑这一点:

    for word in words:
        result += word[0].upper()
    

    += 运算符获取result,添加一些内容,然后将其分配回result。因此,在您的示例中,每个循环都发生了什么:

    # Before loop 1
    result = ""
    # After loop 1
    result = "W"
    # After loop 2
    result = "WW"
    

    如果您不初始化 result,那么 += 运算符在第一次迭代时就很有意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2014-03-02
      • 1970-01-01
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      相关资源
      最近更新 更多