2016-03-15 144 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) 

所以基本上我的第一個循環添加iword直到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

這顯然是一項家庭作業 –

相關問題