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

文字列がパターンで定義された文字の順序に従っているかどうかをPythonで確認してください


パターンとして文字列sと別の文字列tがあるとすると、sの文字がtに存在する文字によって決定されるのと同じ順序に従うかどうかを確認する必要があります。ここでは、パターンに重複する文字はありません。

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

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

  • sのサイズ
  • Falseを返す
  • 範囲0からt-2のサイズのiの場合、do
    • x:=t [i]、y:=t [i + 1]
    • right:=sのxの最後のインデックス
    • 左:=sのxの最初のインデックス
    • 右が-1、左が-1、または右>左の場合、
      • Falseを返す
  • Trueを返す
  • 理解を深めるために、次の実装を見てみましょう-

    サンプルコード

    def solve(s, t):
       if len(s) < len(t) :
          return False
     
       for i in range(len(t) - 1):
          x = t[i]
          y = t[i + 1]
     
          right = s.rindex(x)
          left = s.index(y)
     
          if right == -1 or left == -1 or right > left:
             return False
    
       return True
    
    s = "hello world"
    t = "hw"
    print(solve(s, t))

    入力

    "hello world", "hw"

    出力

    True

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

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

    2. 文をチェックするPythonプログラムはパングラムかどうか。

      与えられた文。私たちの仕事は、この文がパングラムであるかどうかを確認することです。パングラムチェックのロジックは、アルファベットのすべての文字を少なくとも1回含む単語または文です。この問題を解決するために、set()メソッドとリスト内包法を使用します。 例 Input: string = abc def ghi jkl mno pqr stu vwx yz Output: Yes // contains all the characters from ‘a’ to ‘z’ Input: str=python program Output: No // Does not contains al