對不起,如果這是重複的,但我還沒有找到任何明確的答案。檢查字符是否是我字符串中的最後一個字符?
基本上,我的程序應該利用這樣的字符串:
'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:對不起,這聽起來像是一個非常基本的錯誤,但我還在學習所有可以用字符串做的事情。
我認爲my_string.title()是能有這樣的... –
你也可以分割空間上的字符串到一個數組,利用陣列中的每個字符串的第一個數字,然後重新加入的元素由一個空格組成的數組(將數組重新組合爲一個字符串)。 –
當你退出循環時,'word'將包含最後處理的單詞。只是利用它。 –