2016-09-14 1 views
1

私はPythonには新しく、このプログラムで句読点を無視させる方法がわかりません。私はそれが本当に非効率であることを知っていますが、私は今この時点でそれについて気にしません。このプログラムで句読点を無視させるにはどうすればいいですか

while True: 
y="y" 
n="n" 

Sentence=input("Please enter your sentence: ").upper() 
print("Your sentence is:",Sentence) 
Correct=input("Is your sentence correct? y/n ") 
if Correct==n: 
    break 
elif Correct==y: 
    Location=0 

    SplitSentence = Sentence.split(" ") 
    for word in SplitSentence: 
     locals()[word] = Location 
     Location+=1 
    print("") 

    FindWord=input("What word would you like to search? ").upper() 
    if FindWord not in SplitSentence: 
     print("Your chosen word is not in your sentence") 
    else: 
     iterate=0 
     WordBank=[] 
     for word in SplitSentence: 
      iterate=iterate+1 
      if word == FindWord: 
       WordBank.append(iterate) 
     print(FindWord, WordBank) 

    break 

私はあなたが句読点のためのテストを支援するために、Pythonのstringモジュールを使用することができますあなたが私に

+0

あなたはa-zA-Z0-9以外のものを取り除きたいだけですか、またはテストする句読点を設定していますか? – Fallenreaper

答えて

1

を与えることができます任意の助けに感謝します。

>> import string 
>> print string.punctuation 
!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~ 
>> sentence = "I am a sentence, and; I haven't been punctuated well.!" 

その後、各単語から句読点を削除し、あなたの文章から、個々の単語を取得するために、各スペースで文をsplitすることができます。または、文章から句読点を削除した後、個々の単語を再構成することができます。オプション2を実行します - 句読点を除いて、文中のすべての文字のリストを作成し、そのリストに一緒に参加します。

>> cleaned_sentence = ''.join([c for c in sentence if c not in string.punctuation]) 
>> print cleaned_sentence 
'I am a sentence and I havent been punctuated well' 

アポストロフィが「削除」されていることに注目してください。句読点を無視するという副作用があります。

関連する問題