【发布时间】:2013-06-03 03:11:35
【问题描述】:
我正在创建一个马尔可夫链算法。我输出了一个名为 sentence 的变量,其中包含一串句子。我想把句子变成大小写,所以我写了这个:
for l in range(0, len(sentence)-1):
if l == 0:
sentence[l].upper()
elif sentence[l] == ".":
sentence[l+2].upper()
它的作用是将第一个单词的第一个字母大写。那么如果遇到句号,后面的两个字符就是一个新句子的开始。但是,我不知道如何改变句子。这是我尝试过的,但是是非法的:
elif sentence[l] == "."
sentence[l+2] = sentence[l+2].upper()
不,sentences.title() 将不起作用,因为它会使每个单词的标题大小写。
【问题讨论】:
-
你所描述的不是title case。标题大小写意味着每个单词都大写。您所描述的只是句子的正确大写。还值得注意的是,按索引迭代是在 Python 中做任何事情的一种非常糟糕的方式。迭代值,该语言就是为此而设计的——它更快、更容易、更好读、更灵活。
-
@Lattyware 哎呀,我的意思是句子大小写。立即修复。
标签: python string python-2.7 for-loop