2017-10-30 17 views
-2

私はPythonを使って文章を処理したいと思っています。まず、文章中の単語の順序を逆にしたい。次に、大文字で始まらないすべての単語を削除したいと思います。たとえば、BaSe fOO ThE AttAcKattack the baseになります。句読点/大文字(Python)

これは、これまでの私のコードです:

a = input('code: ') 
    b = a.split() 
    b.reverse() 
    g = '' 
    for i in b: 
     if i[0] == i[0].upper(): 
     g += i+' ' 
    print('says:',g.lower()[:-1]) 

#ex) BaSe fOO ThE AttAcK 
    attack the base 
#it all works but punctuation. it can't discern punctuation and uppercase/lowercase so, when I input !!! it makes !!! 
#it has to make nothing when I input !!! 
#Help me please. 

これはうまく句読点処理しない - 私は入力!!!それが!!!を出力したときに、私は、出力何もそれをしたいと思います。私はまた、それが大文字/小文字をうまく処理しているかどうか不安です。コードをうまく機能させるにはどうすればいいですか?

+0

あなたは何を期待していますか?あなたの質問は私には不明瞭です。 – scharette

答えて

0

他の文字列処理タスクを実行する前に、句読点を最初に削除することができます。

import string 


a = input('code: ') 

# Remove punctuations 
translator = str.maketrans('', '', string.punctuation) 
a = a.translate(translator) 

b = a.split() 
b.reverse() 
g = '' 
for i in b: 
    if i[0] == i[0].upper(): 
     g += i + ' ' 
print('says:', g.lower()[:-1]) 

(そして、一般的な提案として、より賢明な変数名を使用し、より明確次回質問を記載してください。)

関連する問題