私のプログラムは、入力文にnot
が続き、その後にbad
が含まれているかどうかを調べ、good
に置き換えます。例えば文がnot
間bad
内の他の文字列なしnot bad
が含まれている場合、私は以下のコードで与えられるgood
に置き換えることができた:特定の文字列がセンテンスに存在するかどうかを確認し、Python 3.6を使用して別の文字列で置き換えます。
s = 'The day is not bad'
s = s.replace('not bad', 'good')
print(s)
出力は次の通りであった:
>>> The day is good
とbad
の間に他の単語がある場合に問題が発生します。 は、私が試したコードを見てください:
l = ['not', 'bad']
s = 'The day is not so bad'
if l in s:
s = s.replace(l,'good')
予想される出力はThe day is good
にする必要がありながら、それは次のようなエラーがthrowed:
Traceback (most recent call last):
File "<ipython-input-69-0eb430659d1e>", line 3, in <module>
if l in s:
TypeError: 'in <string>' requires string as left operand, not list
私もこのような何かを試してみました:
list_ = ['not', 'bad']
if any(word in 'The day is not at all bad' for word in list_):
s = s.replace(s,'good')
しかし、私が上記のコードで得たエラー出力は次のとおりです。
>>> s
>>> good
IOWでは、文全体がgood
に置き換えられました。 は、私は以下のような何かを得る必要がある場合はどうすべきかを提案することができ:
>>> s = 'The day is not at all bad' #input
>>> print(output)
>>> 'The day is good' # the desired output
最終的に私は何をしたい、私は私の答えを更新したしまった、確認してください。 –