извините, если это дубликат, но я не нашел четкого ответа там.Проверьте, является ли символ ОЧЕНЬ ПОСЛЕДНИМ в моей строке?
В принципе, моя программа должна заработать строку, как это:
'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: Извините, если это звучит как действительно основная ошибка, но я все еще изучаю все, что мы можем делать со строками.
Я думаю my_string.title() достаточно для этого ... –
Можно также разделить строку на пространстве в массив, заглавной первую цифру каждой строки в массиве, а затем воссоединиться элементы из массива пространством (преобразование массива в одну строку). –
Когда вы выходите из цикла, слово 'word' будет содержать последнее обработанное слово. Просто используйте его. –