检查字符串中的字符是否非常复杂?

时间:2016-03-15 23:27:42

标签: python python-3.x

抱歉,如果这是重复的,但我还没有找到任何明确的答案。

基本上,我的程序应该像这样大写一个字符串:

'some words'

这样的事情:

'Some Words'

这是我的代码:

mystring = "some words"
copy_of_mystring = ""
word = ""

for i in mystring:
    if i==" ":
        for j in range(1):

            #capitalize if my word has more than 1 letter
            if len(word) > 1:
                word=str.upper(word[0]) + word[1:]

            #capitalize if word has only 1 letter
            elif len(word)==1:
                word=str.upper(word[0])

            copy_of_mystring += word + " "
        word = ""
    else:
        word += i
print(copy_of_mystring)

基本上我的第一个循环将i添加到word,直到i为空格。

然后我的第二个循环将开始并大写word并将其添加到copy_of_mystring,该部分正在运行。

这就是我的问题出现的时候。当我的第一个循环是"建立"我的最后一句话,它当然不会在它之后找到任何空间,所以我的问题来自这个条件:

if i==" ":

我试过了:

if i==" " or i==mystring[-1]:

但是,在一个字符串中,有几个字符与最后一个字符相同,例如在'morgana'中,它最终会像这样

'Morg N'

那么,有没有办法检查i中我的角色mystring是否是最后一个?

P.S:很抱歉,如果这听起来像是一个非常基本的错误,但我仍然在学习用弦乐做的所有事情。

1 个答案:

答案 0 :(得分:1)

Python字符串已通过title()方法支持此功能。

>>> 'some words'.title()
'Some Words'