2016-03-15 2 views
-1

извините, если это дубликат, но я не нашел четкого ответа там.Проверьте, является ли символ ОЧЕНЬ ПОСЛЕДНИМ в моей строке?

В принципе, моя программа должна заработать строку, как это:

'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) 

Поэтому в основном моя первая loop добавить i в word до i это пространство.

Тогда мой второй цикл начнется и заработает word и добавит его в copy_of_mystring, эта часть работает.

И это когда моя проблема возникает, когда мой первый цикл «здание» мое последнее слово, он, конечно, будет не найти место после него, так что моя проблема возникает из этого состояния:.

if i==" ": 

Я попытался это:

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

Но, в строке, где несколько символов такой же, как последний, как и в 'morgana', например, было бы в конечном итоге, как этот

'Morg N' 

Итак, есть ли способ проверить, является ли мой персонаж i ОЧЕНЬ ПОСЛЕДНИМ в mystring?

P.S: Извините, если это звучит как действительно основная ошибка, но я все еще изучаю все, что мы можем делать со строками.

+0

Я думаю my_string.title() достаточно для этого ... –

+0

Можно также разделить строку на пространстве в массив, заглавной первую цифру каждой строки в массиве, а затем воссоединиться элементы из массива пространством (преобразование массива в одну строку). –

+0

Когда вы выходите из цикла, слово 'word' будет содержать последнее обработанное слово. Просто используйте его. –

ответ

1

Строки Python уже поддерживают это с помощью метода title().

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

Это, очевидно, домашнее задание –

Смежные вопросы