0

私はpythonが初めてで、文字列に「I」、「I'm」、「My」、「Was」、「Our」、「me」という単語が含まれているかどうかを検出できる関数を作成しようとしています" 「You」、「You're」、「Your」、「Were」、「Your」、「You」に置き換え、最後に句読点がない場合は最後に疑問符を追加します。これまでのところ、私はコードを持っています

if ' ' in statement and statement[-1].isalpha() is True:
       response = statement
       response = response + "?"

       return response

しかし、関数がそれらの単語を検索し、それらの反対語に置き換える方法がわかりません。たとえば、ステートメントが「私の犬は私が幸せだと言った」である場合、その応答は「あなたの犬はあなたが幸せだと言った?」となるはずです。

ありがとう

4

3 に答える 3

7

辞書マッピングを作成し、それを反復処理します。次のようになります

d = {"I": "You", "I'm": "You're".....}
for k,v in d.iteritems():
    statement = statement.replace(k, v)
于 2013-04-15T02:23:06.097 に答える
1

replace文字列に置き換えるpythonの関数をチェックしてください...

例えば

x = "My dog said I'm happy"
x.replace("My", "Your") # "Your dog said I'm happy"

old置換する単語のリストであるリストと、new置換するものであるリストを作成し、連続して置換することができます。

短い単語の前に長い単語を置き換える必要があることに注意してください。

たとえば、上記の「I」を「You」に置き換えると、「Your dog said You'm happy」となります。したがって、「I」の前に「I'm」を置き換える必要があります。

于 2013-04-15T02:23:36.510 に答える