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

入力された文字列をチェックするプログラムは、Pythonではなくスタックしたキーボードキーでターゲット文字列を書き込むためのものです


2つの文字列sとtがあるとします。 tを作成したいのですが、キーボードに問題があり、一部の文字がスタックしているため、1回以上書き込まれる可能性があります。型付けされたsがtを書くことを意図していた可能性があるかどうかを確認する必要があります。

したがって、入力がs ="appppleee" t ="apple"の場合、出力はTrueになります。

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

  • i:=0、j:=0
  • s_len:=sのサイズ
  • t_len:=tのサイズ
  • t_last:=空白の文字列
  • j
  • iがs_lenと同じ場合、
    • Falseを返す
  • s[i]がt[j]と同じ場合、
    • t_last:=t [j]
    • i:=i + 1
    • j:=j + 1
  • それ以外の場合、s [i]がt_lastと同じである場合、
    • i:=i + 1
  • それ以外の場合、
    • Falseを返す
  • i
  • s[インデックスiから終了まで]のすべての文字がt_lastと同じ場合はtrueを返します
  • それ以外の場合、
    • Trueを返す
  • 理解を深めるために、次の実装を見てみましょう-

    def solve(s, t):
       i = j = 0
       s_len = len(s)
       t_len = len(t)
       t_last = ""
       while j < t_len:
          if i == s_len:
             return False
          if s[i] == t[j]:
             t_last = t[j]
             i += 1
             j += 1
          elif s[i] == t_last:
             i += 1
          else:
             return False
       if i < s_len:
          return all(char == t_last for char in s[i:])
       else:
          return True
    
    s = "appppleee"
    t = "apple"
    print(solve(s, t))

    入力

    "appppleee", "apple"
    

    出力

    True

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

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

    2. 文字列が空かどうかをチェックするPythonプログラム

      この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を入力したら、文字列が空かどうかを確認する必要があります。 Python文字列は本質的に不変であるため、操作を実行するときは、文字列を処理するときに注意が必要です。 ここでは、上記の問題ステートメントを解決するための2つのアプローチについて説明します- len()メソッドを使用します。 等式演算子を使用します。 アプローチ1:len()メソッドを使用する 例 test_str1 = "" test_str2 = "@@@" if(l