基本 Python 代码:将短语转换为相应的首字母缩写词 [重复]

Posted

技术标签:

【中文标题】基本 Python 代码:将短语转换为相应的首字母缩写词 [重复]【英文标题】:Basic Python Code: Turning a phrase into corresponding acronym [duplicate] 【发布时间】: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

【问题讨论】:

如果不包含result = "" 会怎样?您会将首字母缩写词添加到什么位置? 欢迎 :) 发布时,您应该包括您尝试过的示例、有效的示例和无效的示例。在这种情况下,您可以测试删除您感兴趣的行并将其包含在您的问题中时发生的情况。 重复Why do we need to declare the variable before we use it in some languages, but not in others? 另见***.com/questions/10134127/… 还有***.com/questions/664294/… 【参考方案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,那么 += 运算符在第一次迭代时就很有意义。

【讨论】:

以上是关于基本 Python 代码:将短语转换为相应的首字母缩写词 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ruby / rails将所有大写字母转换为适当的首字母大写字母,其余为小写?

面试题:Python大小写转换

java net.sf.json 如何将javabean的首字母转换为大写

java编程,输入一段英文字母,将每个单词的首字母转换为大写字母。

php 助手 - 将字符串转换为标题案例(每个单词的首字母大写,除了小字)

php 助手 - 将字符串转换为标题案例(每个单词的首字母大写,除了小字)