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

文字列が対称か回文かをチェックするPythonプログラム


文字列が対称であるか回文であるかを確認する必要がある場合は、「while」条件を使用するメソッドを定義できます。 「while」条件と「if」条件も使用する対称性をチェックする別の方法が定義されています。

回文は数字または文字列であり、左から右または右から左に読み取ったときに同じ値になります。インデックス値は同じです。

以下は同じのデモンストレーションです-

def check_palindrome(my_str):
   mid_val = (len(my_str)-1)//2
   start = 0
   end = len(my_str)-1
   flag = 0
   while(start<mid_val):
   if (my_str[start]== my_str[end]):
      start += 1
      end -= 1
   else:
      flag = 1
      break;
   if flag == 0:
      print("The entered string is palindrome")
   else:
      print("The entered string is not palindrome")
def check_symmetry(my_str):
   n = len(my_str)
   flag = 0
   if n%2:
      mid_val = n//2 +1
   else:
      mid_val = n//2
   start_1 = 0
   start_2 = mid_val
   while(start_1 < mid_val and start_2 < n):
      if (my_str[start_1]== my_str[start_2]):
         start_1 = start_1 + 1
         start_2 = start_2 + 1
      else:
         flag = 1
         break
   if flag == 0:
      print("The entered string is symmetrical")
   else:
      print("The entered string is not symmetrical")
my_string = 'phphhphp'
print("The method to check a palindrome is being called...")
check_palindrome(my_string)
print("The method to check symmetry is being called...")
check_symmetry(my_string)

出力

The method to check a palindrome is being called...
The entered string is palindrome
The method to check symmetry is being called...
The entered string is not symmetrical

説明

  • パラメータとして文字列を受け取る「check_palindrome」という名前のメソッドが定義されています。
  • 中間値は、2でフロア分割を行うことによって計算されます。
  • 開始値は0に割り当てられ、終了値は最後の要素に割り当てられます。
  • flagという名前の変数が0に割り当てられます。
  • while条件が開始され、開始要素と終了要素が等しい場合、開始値がインクリメントされ、終了値がデクリメントされます。
  • それ以外の場合、フラグ変数は1に割り当てられ、ループから抜け出します。
  • フラグの値が0の場合、文字列は回文になります。それ以外の場合はそうではありません。
  • 「check_symmetry」という名前の別のメソッドが定義されています。これは、文字列をパラメータとして受け取ります。
  • 文字列の長さは変数に割り当てられます。
  • 長さの余り2が0でない場合、中央の値が変更されます。
  • 開始値と中間値が再度変更されます。
  • 別の「while」条件が使用され、開始値が再度変更されます。
  • フラグの値が0の場合、文字列は対称であると見なされます。
  • それ以外の場合はそうではありません。

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

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

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

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