2013-07-27 51 views
1

Wether我在括號中輸入1個單詞,1個單詞和1個單詞,並輸入2個單詞。即。 「美國」或「美國(格柵)」或「美國意大利語」只有每個單詞的首字母大寫。需要更改大寫python來解釋3種不同類型的輸入與raw_input函數相同

我已經寫了我的代碼

wcity = raw_input("Please enter a city ==> ") 
print 
wtype = raw_input("Please enter a restaurant type ==> ") 
print 

它改爲:

wcity = raw_input("Please enter a city ==> ").capitalize() 
print 
wtype = raw_input("Please enter a restaurant type ==> ").capitalize() 
print 

我需要改變.capitalizeWTYPE它所以當我對WTYPE 無論是輸入(不是全部,每次只有其中一個)

aMERICan 
aMerican iTalian 
american (nEw) 

的Python解釋爲

American 
American Italian  
American (New) 
  • 但我需要Python來閱讀它同閹了1個字 「美國」 或 「美國的(新)」

任何想法,上面和下面的愚蠢的和那些不工作比.capitalize更好

任何想法?

我可以做.capitalize我在wcity做的,因爲我的城市沒有括號,裏面還字或2個字

我對wcity輸入不是:

  • 芝加哥(金衡)

  • 蔬菜如(裏諾)

  • 芝加哥布朗克斯(2字)

我對wcity輸入是:

  • 芝加哥

回答

1

您可以使用常規表達式過濾器可以消除包含的字符串部分:

import re 
def myfilter(x): 
    return ' '.join(re.sub(ur'\(\s*[nN][eE][wW]\s*\)','',x).title().split()) 

wcity = myfilter(raw_input("Please enter a city ==> ")) 
print wcity 
wtype = myfilter(raw_input("Please enter a restaurant type ==> ")) 
print wtype 
+0

非常感謝!我最終解決了這個問題,他在上課的時候教過我們 – user2605035

+0

,如果你喜歡這個答案,並且你想保持接受,你可以投票並點擊答案旁邊的綠色箭頭......; –

+0

就是這樣!再次感謝 – user2605035

相關問題