Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで特定のサブ文字列を再帰的に削除して、文字列が空になる可能性があるかどうかを確認します


2つの文字列sとtがあるとします。 sからtを何度でも削除できます。そして、tは一度に1回だけ表示されます。必要な回数だけtを削除して、sが空になるかどうかを確認する必要があります。

したがって、入力がs ="pipipinnn" t ="pin"の場合、「pipipinnn」から「pin」を削除できるため、出力はTrueになります。次に、「pipinn」を取得し、「pin」を削除します。文字列「pin」を取得し、それを削除して空にします。

これを解決するには、次の手順に従います-

  • サイズがs>0の場合、実行
    • 位置:=sのtの開始インデックス
    • 位置がsにない場合は、
      • ループから抜け出す
    • s:=sからtを一度削除する
  • sのサイズが0と同じ場合はtrueを返し、それ以外の場合はfalseを返します

理解を深めるために、次の実装を見てみましょう-

def solve(s, t):
   while len(s) > 0:
      position = s.find(t)
      if position == -1:
         break
      s = s.replace(t, "", 1)
   return len(s) == 0
s = "pipipinnn"
t = "pin"
print(solve(s, t))

入力

"pipipinnn", "pin"

出力

True

  1. 指定された文字列がキーワードであるかどうかを確認するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、その数値が2の累乗であるかどうかを確認する必要があります。 キーワードは、特定の用途で任意の言語によって予約されている特別な単語であり、識別子として使用することはできません。 指定された文字列がキーワードであるかどうかを確認するために、以下で説明するようにキーワードモジュールを使用しました。 例 # keyword module import keyword # Function def isKeyword(word) :    # list of all

  2. 指定された文字列がパングラムであるかどうかを確認するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、その文字列がパングラムであるかどうかを確認するPythonプログラムを生成する必要があります。 パングラムは、英語のアルファベットコレクションのすべての文字を含む文/一連の単語です。 では、問題を解決する方法を見てみましょう 入力文字列に存在する各文字が、手動で宣言するアルファベットセットに属しているかどうかをチェックするループを使用します。 上記のアプローチの実装は、-によって与えられます。 例 import string def ispangram