gpt4 book ai didi

python - 字母大写不适用于所有情况

转载 作者:行者123 更新时间:2023-12-01 08:18:33 25 4
gpt4 key购买 nike

我几个月前才开始学习Python,所以我是这里的新手。我试图将字符串中每个单词的第一个字母大写。当输入是“hello world”(例如)时,它工作得很好,但是对于一些输入,如“我喜欢编码”,它会返回“我喜欢 CodIng”,这对我来说没有意义。有人可以向我解释为什么会发生这种情况吗?代码如下:

def LetterCapitalize(str):
str = str.replace(str[0], str[0].upper())
for i in range(len(str)):
try:
if str[i] == ' ':
str = str.replace(str[i+1], str[i+1].upper())
else:
continue
except IndexError:
break
return str

最佳答案

str.replace 方法会替换给定主字符串中所有出现的给定子字符串,因此将字母 i 替换为 Ii lovecoding中,它替换了字符串中的两个i

由于字符串是不可变的,因此您可以将给定字符串转换为字符列表,以便您可以迭代列表,如果字符位于字符串开头或前面有空格,则替换该字符,然后加入列表最后返回一个字符串:

def LetterCapitalize(s):
l = list(s)
for i, c in enumerate(l):
if not i or l[i - 1] == ' ':
l[i] = c.upper()
return ''.join(l)

这样 LetterCapitalize('i lovecoding') 返回:

I Love Coding

关于python - 字母大写不适用于所有情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54836829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com